Как найти последнюю цифру числа
Ув Програмисты, я в этом новичок, и поэтому прошу помощи, подскажите
как узнать последнюю цифру целого, произвольного числа, с произвольным кол-вом знаков.
В гугле подобного не нашел.
З,ы
Заранее спасибо!
Регистрация: 19.12.2008
Сообщений: 5,788
Возьмите остаток от деления на 10:
N = 123; k = N % 10;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.
___________________________________ ___________________________________ _______
[=Правила форума=] _____ [Поиск] _____ [Литература по С++] ____ [Литература. Паскаль]
Пользователь
Регистрация: 27.05.2009
Сообщений: 10
извините, а нельзя ли поподробенй, ну разделим мы на десять, к примеру 777 то получим 77.7, а как выделить, само «число после запятой» заранее понимаю, что вопрос глупый, но тем не мение.
Регистрация: 19.12.2008
Сообщений: 5,788
Выше пример посмотрите. В k — как раз будет последняя цифра.
Деление на 10 и остаток от деления на 10 — не одно и то же.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.
___________________________________ ___________________________________ _______
[=Правила форума=] _____ [Поиск] _____ [Литература по С++] ____ [Литература. Паскаль]
Сумма первой и последней цифр числа
Найти сумму первой и последней цифр любого целого положительного числа.
Извлечь последнюю цифру числа легко: достаточно найти остаток от деления на 10. В языке Паскаль это делается с помощью оператора mod .
Чтобы извлечь первую цифру числа, надо знать его разрядность, после чего найти остаток от деления 10 в степени «разряд минус 1». Так, если число трехзначное, то надо делить на 100, то есть 10 2 . Однако программа разрядности числа не знает.
Поэтому, чтобы извлечь первую цифру числа, будем последовательно делить число нацело на 10, пока от него не останется одна цифра, которая и будет первой. После этого найти ее сумму с последней цифрой, которая была найдена ранее.
var n: longint; a, b: byte; begin readln(n); a := n mod 10; // последняя цифра исходного числа n := n div 10; // удаляем ее из числа while n > 0 do begin b := n mod 10; // текущая последняя цифра n := n div 10; end; writeln(a + b); end.
В коде выше в переменную a записывается последняя цифра. После чего число делится нацело на 10 и эта цифра исключается. Далее в цикле постепенно число сокращается на один разряд с помощью div . Перед этим удаляемая цифра присваивается переменной b . Когда все цифры числа будут удалены, то в переменной b останется первая. После цикла значение переменных складывается.
Более компактное решение:
var a: longint; b: byte; begin readln(a); b := a mod 10; while a >= 10 do a := a div 10; writeln(b+a); end.
Здесь число a в цикле постепенно сокращается до одного первого разряда. Перед этим самый младший разряд, то есть последняя цифра числа сохраняется в переменной b .
Решить задачу можно не только с помощью цикла while , но и repeat :
var a, b, c, d: integer; begin readln(a); d := a mod 10; repeat b := a mod 10; a := a div 10; until a = 0; c := d + b; writeln(c); end.
5175. Последняя цифра
Вход. Одно натуральное число n (1 ≤ n ≤ 10 9 ).
Выход. Выведите последнюю цифру числа n.
Пример входа 1
Пример выхода 1
Пример входа 2
Пример выхода 2
РЕШЕНИЕ
элементарная задача
Анализ алгоритма
Последняя цифра натурального числа n равна n % 10.
Реализация алгоритма
Читаем натуральное число n и выводим его последнюю цифру n % 10.
printf( «%d\n» ,n % 10);
Java Реализация
import java.util.*;
public class Main
public static void main(String[] args )
Scanner con = new Scanner(System. in );
int n = con .nextInt();
int res = n % 10;
System. out .print( res );
Как найти последнюю цифру числа
Полезно запомнить следующее правило: последняя цифра произведения двух чисел равна последней цифре произведения последних цифр сомножителей. В частности, последняя цифра произведения зависит только от последних цифр сомножителей.
а) Начнём выписывать последние цифры степеней двойки. На каждом шаге будем умножать результат предыдущего шага на 2 и, если получается двузначное число, брать его последнюю цифру. Получим: 2 1 = 2, 2 4 =4, 2 3 =8, 2 4 = 16 → 6, 2 5 → 6·2 = 12 → 2, 2 6 → 2· 2 = 4, 2 7 → 4· 2 = 8, 2 8 → 8· 2 = 16 → 6, и т. д. Заметим, что последние цифры чередуются в такой последовательности: 2, 4, 8, 6, 2, 4, 8, 6. При этом последняя цифра степени зависит от того, с каким остатком показатель степени делится на 4. В частности, всегда, когда показатель степени делится на 4 без остатка (как 4, 8, 100), последняя цифра степени равна 6.
б) Последняя цифра числа 549 49 совпадает с последней цифрой числа 9 49 . Последние цифры степеней девятки чередуются так: 9, 1, 9, 1, 9, 1. То есть если показатель степени нечётный, степень оканчивается на 9. Значит, и число 9 49 , и исходное число 549 49 оканчиваются на 9.
в) Последняя цифра числа 2013 2013 совпадает с последней цифрой числа 3 2013 . Последние цифры степеней тройки чередуются так: 3, 9, 7, 1, 3, 9, 7, 1. То есть последняя цифра степени зависит от того, с каким остатком показатель степени делится на 4. В частности, всегда, когда показатель степени делится на 4 с остатком 1 (как 1, 5, 2013), последняя цифра степени равна 3. А значит, и последняя цифра числа 2013 2013 равна 3.
2. В книге рекордов Гиннеса написано, что наибольшее известное простое число равно (23021 337 − 1). Не опечатка ли это?
Решение. Число 23021 337 оканчивается единицей (это проверяется аналогично решению задачи 1). Поэтому последняя цифра числа (23021 337 − 1) равна 0, а значит, это число делится на 10 и потому составное.
3. В магазин привезли 206 литров молока в бидонах по 10 и 17 литров. Сколько было бидонов каждого вида?
Ответ. Семь десятилитровых и восемь семнадцатилитровых.
Решение. Нужно взять несколько слагаемых по 10 л и несколько слагаемых по 17 л так, чтобы сумма была равна 206 л (в частности, чтобы последняя цифра суммы равнялась 6). Количество десятилитровых бидонов не влияет на последнюю цифру суммы. Значит, надо только выяснить, сколько должно быть 17-литровых бидонов, чтобы их суммарный объём оканчивался цифрой 6. Для этого количество 17-литровых бидонов должно оканчиваться на 8 (проверьте, что это правда и что другие варианты не подходят). То есть 17-литровых бидонов может быть 8, 18, 28, и т.д. Но если их хотя бы 18, то их общий объём составляет по крайней мере 18·17 = 306 л, что больше, чем 206 л. Значит, 17-литровых бидонов будет 8, и их общий объём будет равен 136 л. Тогда десятилитровые бидоны должны иметь общий объем 70 л, а для этого их должно быть 7.
4. Делится ли число 47 30 +39 50 на 10?
Решение. Число 47 30 оканчивается цифрой 9, а число 39 50 — цифрой 1 (это проверяется аналогично решению задачи 1). Значит, их сумма оканчивается на 0 и потому делится на 10.
5. Найдите последнюю цифру в произведении всех нечётных чисел от 1 до 2013.
Решение. Это произведение делится на 5, но не делится на 2. Поэтому в силу признаков делимости на 2 и 5 оно может оканчиваться только цифрой 5.
6. Сколькими нулями оканчивается число 2013! = 1·2·3·. ·2011·2012·2013 ?
Если мы разложим число 2013! на простые множители, то количество нулей на конце этого числа будет равно степени, в которой в это разложение входит пятёрка. (В самом деле, 10 = 2·5, а двойка заведомо войдёт в разложение в большей степени, чем пятёрка.)
2013 = 5·402 + 3. Поэтому среди чисел от 1 до 2013 ровно 402 числа делятся на 5. Аналогичным образом выясним, что из этих чисел ещё 80 делятся на 25, то есть на 5 2 , ещё 16 делятся на 125, то есть на 5 3 , и ещё 3 числа делятся на 625, то есть на 5 4 . Итого 402+80+16+3 = 501, то есть в разложение числа 2013! пятёрка входит в степени 501. Поэтому 2013! оканчивается 501 нулём.
7. Докажите, что среди квадратов любых пяти натуральных чисел всегда можно выбрать два, сумма или разность которых делится на 10.
Решение. Квадрат любого натурального числа оканчивается на 0, 1, 4, 5, 6 или 9 (проверяем для чисел от 1 до 10, дальше последние цифры повторяются в той же последовательности). Если в наборе есть два квадрата, оканчивающиеся на две одинаковые цифры, при их вычитании получится число с нулём на конце, а значит, делящееся на 10. Если же все пять последних цифр квадратов в наборе различны, то среди них обязательно будет либо пара (4, 6), либо пара (1, 9). Тогда сложим эти квадраты и тоже получим число с нулём на конце, а значит, делящееся на 10.
8. Найдите последнюю цифру числа 7 7 7 . Степени считаются сверху вниз: 7 7 7 =7 (7 7 ) .
Решение. Последние две цифры числа 7 7 образуют число 43 (это можно вычислить непосредственно, отбрасывая при каждом умножении все цифры результата, кроме последних двух). Значит, число 7 7 делится на 4 с остатком 3. Степени семёрки могут оканчиваться на 7, 9, 3 или 1 (в зависимости от того, с каким остатком делится на 4 показатель степени). В нашем случае 43 делится на 4 с остатком 3, значит, и 7 7 делится на 4 с остатком 3 (согласно признаку делимости на 4). А у всех степеней семёрки, показатели которых делятся на 4 с остатком 3, последняя цифра равна 3.
9. На доске было написано число из нескольких семёрок: 777. 77. Влад стёр у этого числа последнюю цифру, полученное число умножил на 3 и к произведению прибавил стёртую цифру. С полученным числом он проделал ту же операцию, и так далее. Докажите, что через некоторое время у него получится число 7.
Решение. При каждой операции из числа 10 х + у получается число 3 х + у (здесь y — последняя цифра исходного числа). Разность этих чисел равна 10 x + y − (3 x + y ) = 7 х и значит, делится на 7. Значит, при каждом шаге делимость числа на 7 сохраняется (исходное число, очевидно, делилось на 7), а само число уменьшается. Поскольку операцию можно проделывать с любым натуральным числом, в котором больше одной цифры, мы рано или поздно получим однозначное число, кратное 7.
- ЗАДАЧИ
- 6 класс
- Письменная работа
- Задачи для знакомства
- Ацнок с зиланА
- Чётность
- Делимость
- В триодиннадцатом королевстве
- Алгоритмы
- Математические игры
- Движение и работа
- Геометрия
- Комбинаторика
- Комбинаторика — 2
- Задачи на повторение
- Математическая абака
- География и путешествия
- Признаки делимости
- Последовательности
- От противного
- Графы
- Шахматы
- Раскраски
- Последняя цифра
- Оценка плюс пример
- Лингвистика
- История математики
- ЗАДАЧИ ДОП. НАБОРОВ
- Доп. набор 1
- Доп. набор 2
| Вы видите ошибку? Выделите её и нажмите Ctrl+Enter! | | | |