Как найти последнее число в программировании

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.

Kris van der Mast's user avatar

asked Mar 31, 2013 at 16:33

mns's user avatar

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's user avatar

Gaspa79

5,3884 gold badges40 silver badges62 bronze badges

answered Mar 31, 2013 at 16:35

acrilige's user avatar

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

Stochastically's user avatar

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 Anodide's user avatar

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

TheChilliPL's user avatar

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";
}

Kris van der Mast's user avatar

answered Feb 11, 2016 at 21:08

Atanas Tankov's user avatar

1

Another way is..

var digit = Convert.ToString(1234);
var lastDigit = digit.Substring(digit.Length - 1);

answered Nov 19, 2017 at 15:56

Adarsh Babu PR's user avatar

1

Обложка для статьи "Нахождение последней цифры числа в Python"

На чтение 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 как решение

Решение

C++
1
2
int number = 1873;
std::cout << number % 10 << std::endl;

Добавлено через 49 секунд
Стыдно не знать такое!



3



1066 / 583 / 87

Регистрация: 03.12.2009

Сообщений: 1,255

21.06.2011, 23:27

 [ТС]

3

Цитата
Сообщение от Mиxaил
Посмотреть сообщение

Стыдно не знать такое!

Спасибо за помощь!



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’

Вы можете выбрать любой из этих методов в зависимости от ваших потребностей и предпочтений.

Оба метода возвращают последнюю цифру числа как строку или число, в зависимости от используемого метода.

система выбрала этот ответ лучшим

vdtes­t
[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

vdtes­t
[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” – число, последнюю цифру которого надо получить, а % – операция извлечение остатка от деления.

Знаете ответ?

Добавить комментарий