How to get the last digit of a number?
e.g. if 1232123,
3 will be the result
Some efficient logic I want so that it is easy for results having big numbers.
After the final number I get, I need to some processing in it.
asked Mar 31, 2013 at 16:33
2
Just take mod 10:
Int32 lastNumber = num % 10;
One could use Math.Abs if one’s going to deal with negative numbers. Like so:
Int32 lastNumber = Math.Abs(num) % 10;
Gaspa79
5,3884 gold badges40 silver badges62 bronze badges
answered Mar 31, 2013 at 16:35
acriligeacrilige
2,43619 silver badges30 bronze badges
2
It’s just the number modulo 10. For example in C
int i = 1232123;
int lastdigit = (i % 10);
answered Mar 31, 2013 at 16:35
StochasticallyStochastically
7,5965 gold badges30 silver badges58 bronze badges
0
Here’s the brute force way that sacrifices efficiency for obviousness:
int n = 1232123;
int last = Convert.ToInt32(n.ToString()
.AsEnumerable()
.Last()
.ToString());
answered Mar 31, 2013 at 16:45
Aaron AnodideAaron Anodide
16.8k15 gold badges61 silver badges120 bronze badges
6
The best would be:
Math.Abs(num % 10);
Cause num % 10
will give you negative result for negative numbers
answered Apr 24, 2018 at 19:19
TheChilliPLTheChilliPL
3271 gold badge4 silver badges14 bronze badges
The best way to do this is int lastNumber = (your number) % 10;
And if you want to return the last digit as string you can do this
switch (number % 10)
{
case 0:
return "zero";
case 1:
return "one";
case 2:
return "two";
case 3:
return "three";
case 4:
return "four";
case 5:
return "five";
case 6:
return "six";
case 7:
return "seven";
case 8:
return "eight";
case 9:
return "nine";
}
answered Feb 11, 2016 at 21:08
1
Another way is..
var digit = Convert.ToString(1234);
var lastDigit = digit.Substring(digit.Length - 1);
answered Nov 19, 2017 at 15:56
1
На чтение 2 мин Просмотров 2.3к. Опубликовано
Для работы с числами в Python может потребоваться получить доступ к их отдельным цифрам. Одним из часто возникающих заданий является получение последней цифры числа. Это может понадобиться, например, для решения математических задач или для форматирования вывода данных. В этой статье мы рассмотрим несколько способов получения последней цифры числа в Python.
Получение последней цифры числа путём преобразование числа в строку
Получение последней цифры числа в Python можно выполнить, преобразовав число в строку и обратившись к последнему символу этой строки. Для преобразования числа в строку в Python можно использовать функцию str()
. Далее, для получения длины строки, мы можем использовать функцию len()
, и после обратиться к последнему элементу строки по его индексу (длина строки — 1, так как индексация идёт с 0):
number = 123456
string_number = str(number)
last_digit = string_number[len(string_number)-1]
print(last_digit)
В этом примере мы сначала преобразуем число в строку с помощью функции str(), а затем получаем длину строки с помощью функции len(). Мы используем длину строки для получения индекса последнего символа (который является последней цифрой числа) и сохраняем его в переменной last_digit. Наконец, мы выводим последнюю цифру числа с помощью функции print().
Приведённый ваше код можно упростить, если знать, что извлечь последний символ строки можно, используя отрицательный индекс -1
:
number = 123456
last_digit = str(number)[-1]
print(last_digit)
Использование арифметических операций для получения последней цифры
Для получения последней цифры числа можно использовать арифметические операции. Для этого можно использовать операцию остатка от деления %
, которая возвращает остаток от деления двух чисел.
Например, чтобы получить последнюю цифру числа 123, можно выполнить следующую операцию:
123 % 10
Результатом будет число 3, которое является последней цифрой числа 123.
Такой подход является более простым и эффективным, чем преобразование числа в строку и использование индексации.
Однако, стоит учитывать, что если число отрицательное, то данный подход не сработает. В таком случае, можно использовать функцию abs()
для получения модуля числа, а затем применить операцию %
.
Пример:
number = -12345
last_digit = abs(number) % 10
print(last_digit) # выводит 5
( 2 оценки, среднее 3 из 5 )
написал в виде ответа т.к. в каментарий банально не влезет, по сути является вариантом ответа предоставленого: @VladD с той лишь разницей что не прибегает сразу к испльзованию модулей
если позначить 3 первых члена последовательности как x1,x2,x3
получается что каждый элемент последовательности можно описать функцией:
f(j) = a*x1 + b*x2 + c*x3 (1)
где a,b,c
определяют количество вхождений элементов: x1,x2,x3
учитывая что нас интересует только последняя позиция в числе можно записать формулу так:
f(x) = a*x1 + b*x2 + c*x3 = a*x1 % 10 + b*x2 % 10 + c*x3 % 10 (2)
где, для каждого из чисел a,b,c
справедлива начальная формула: f(k)=f(k-2)+3f(k-3)
, арифметика по модулю 10 применяется для того чтоб держать множители a,b,c
в пределах 10
, так как: 10*x % 10 = x
пишем функцию которая в цикле считает числа a,b,c
для каждого элемента последовательности, до тех пор пока не найдем период: T
(3)
после того как найден период можно получить индекс элемента:
K = (10^10000) % mod T = …
соответственно запускаем функцию (3) еще раз, для числа T
: получаем конкретные значения чисел a,b,c
. далее используем формулу (1) и получаем результат
p.s. програмка пишется примерно за 30-60 минут
1066 / 583 / 87 Регистрация: 03.12.2009 Сообщений: 1,255 |
|
1 |
|
Как получить последнию цифру числа!21.06.2011, 23:21. Показов 75511. Ответов 2
Здравствуйте! Скажите пожалуйста как получить последнюю цифру числа! Например! На входе: 1873 На выходе: 3 Спасибо!)))
1 |
Mиxaил 541 / 446 / 162 Регистрация: 10.12.2009 Сообщений: 1,857 |
||||
21.06.2011, 23:23 |
2 |
|||
Сообщение было отмечено Infinity3000 как решение Решение
Добавлено через 49 секунд
3 |
1066 / 583 / 87 Регистрация: 03.12.2009 Сообщений: 1,255 |
|
21.06.2011, 23:27 [ТС] |
3 |
Стыдно не знать такое! Спасибо за помощь!
1 |
- Как получить последнюю цифру числа на python?
- Какой формулой определить последнюю цифру числа в программе на языке Python?
- Какой программой на языке Python ввести число и вывести последнюю цифру введённого числа?
На Python можно использовать выражение num % 10 для определения последней цифры числа num.
% это оператор остатка от деления, который возвращает остаток от деления левого операнда на правый операнд. Например, 7 % 3 вернет 1, так как 7 делится на 3 с остатком 1.
В данном случае, если число делить на 10, то остаток от деления будет самой последней цифрой числа.
Пример:
num = 123
last_digit = num % 10
print(last_digit) # Output: 3
В этом примере, последняя цифра числа 123 является 3.
Также можно использовать функцию str() для преобразования числа в строку, и индексацию строки для получения последнего символа:
num = 123
last_digit = str(num)[-1]
print(last_digit) # Output: ‘3’
Вы можете выбрать любой из этих методов в зависимости от ваших потребностей и предпочтений.
Оба метода возвращают последнюю цифру числа как строку или число, в зависимости от используемого метода.
система выбрала этот ответ лучшим
vdtest
[29.1K]
2 года назад
Для любого числа последняя цифра это последний символ в строке записи этого числа.
Сначала число надо перевести в строку, для этого в языке Python предусмотрена функция str, а потом можно взять последний символ строки в которую переведено число.
Чтобы это сделать потребуется найти индекс последнего символа.
Индекс последнего символа строки на единицу меньше чем длина строки.
Получили выражение для нахождения последнего символа числа a:
str(a)[len(str(a))]
Составим программу для ввода целого числа и вывода на печать последней цифры введённого числа:
a = int(input(‘Введите число: ‘))
print(f’Последняя цифра числа {a} равна {str(a)[ len( str(a) )-1]} ‘)
Пример выполнения этой программы:
Введите число:
357
Последняя цифра числа 357 равна 7
vdtest
[29.1K]
2 года назад
Последняя цифра числа это последний символ в текстовой записи числа.
Сначала придётся перевести число в текстовую строку с помощью функции str, а из полученной строки взять самый последний символ ( в языке программирования Python последний символ строки имеет индекс -1)
Последний символ числа из переменной n определяется выражением:
str(n)[-1]
Составим программу для ввода десятичного числа и вывода на печать его последней цифры:
n= float(input(‘Введите десятичное число’))
print(f’ {str(n)[-1]} – последняя цифра числа {n}’)
Результат выполнения этой программы:
Введите десятичное число
1234.5
5 – последняя цифра числа 1234.5
Грустный Роджер
[396K]
2 года назад
Это можно сделать и не переводя число в текстовый вид, надо просто знать, что такое целочисленное деление и что такое деление по модулю.
Целочисленное деление возвращает целую часть частного. Деление по модулю возвращает остаток от деления. И не штука догадаться, что последняя цифра – это как раз остаток от деления числа на 10.
Поэтому последняя цифра определяется элементарно:
print (number % 10)
где “number” – число, последнюю цифру которого надо получить, а % – операция извлечение остатка от деления.
Знаете ответ?