Сумма первой и последней цифры числа паскаль

Задача

Найти сумму первой и последней цифр любого целого положительного числа.

Похожие задачи

Решение

Извлечь последнюю цифру числа легко: достаточно найти остаток от деления на 10. В языке Паскаль это делается с помощью оператора mod.

Чтобы извлечь первую цифру числа, надо знать его разрядность, после чего найти остаток от деления 10 в степени разрядность минус 1. Так, если число трехзначное, то надо делить на 100, т. е. 10 2 . Однако программа разрядности числа не знает.

Поэтому, чтобы извлечь первую цифру числа, можно пойти двумя путями:

  1. Последовательно делить число нацело на 10, пока от него не останется одна цифра, которая и будет первой. После этого найти ее сумму с последней цифрой, которая была найдена ранее.
  2. Преобразовать число в строку, извлечь первый символ, после чего снова преобразовать его в число для нахождения суммы.

Здесь мы рассмотрим решение задачи только по первому варианту, без преобразования в строку.

В коде выше в переменную a записывается последняя цифра. После чего число делится нацело на 10 и эта цифра исключается. Далее в цикле постепенно число сокращается на один разряд с помощью div. Перед этим удаляемая цифра присваивается переменной b. Когда все цифры числа будут удалены, то в переменной b останется первая. После цикла значение переменных складывается.

Более компактное решение:

Здесь число a в цикле постепенно сокращается до одного первого разряда. Перед этим самый младший разряд, т. е. последняя цифра числа сохраняется в переменной b.

Решить задачу можно не только с помощью цикла while, но и repeat:

Исходник программы, которая находит сумму всех цифр в числе, введённого пользователем с клавиатуры. Исходник основан на цикле WHILE. Есть пояснительные комментарии к каждой строке. Увидеть исходный код и скачать скомпилированный исходник вы можете далее.

Читайте также:  Центр устройств windows mobile не видит устройство

Исходный код программы, которая находит сумму цифр числа:

На предыдущей странице мы рассматривали задачу отделения цифр от двузначного числа. На этой странице решаем задачи Integer9 – Integer16 из задачника Абрамяна, в которых займёмся работой с цифрами трехзначного числа.

Для примера возьмем трехзначное число 671. Если его разделить на 100 и отбросить остаток, то получим 6 — первая цифра (число сотен). Поскольку для целочисленного деления существует операция div, то здесь достаточно вычислить 671div 100 , что возвратит нам результат 6. Аналогично мы поступали при вычислении первой цифры двузначного числа в программе Integer6, только там нужно было делить на 10. Этот способ используется и в данной программе.

Оцените статью
Добавить комментарий

Adblock detector