Найти сумму
первой и последней цифры целого числа.
Вход. Одно целое 32-х разрядное число n, которое
состоит не менее чем из двух цифр. Число n может быть
положительным или отрицательным.
Выход. Вывести сумму
первой и последней цифры числа n.
Пример
входа |
Пример
выхода |
2345 |
7 |
циклы
Анализ алгоритма
Последняя цифра
числа n равна last = n % 10.
Делим число n на 10, пока оно больше 9. Теперь n будет содержать
первую цифру входного числа: first = n.
Находим и выводим сумму первой first и последней last цифры.
Решение при
помощи строки. Прочитаем число как строку s. Если строка начинается с символа ‘-‘ (входное число отрицательно), то
первая цифра числа находится в s[1]. Последнюю цифру находим, вычисляя длину
строки.
Реализация алгоритма
Читаем входное
число n.
scanf("%d", &n);
Если число n отрицательно,
то меняем знак числа на противоположный.
if (n < 0) n = -n;
Последняя цифра
числа n равна last = n % 10.
last = n % 10;
Делим число n на 10, пока оно больше 9. Теперь n содержит первую
цифру входного числа.
while (n > 9) n = n / 10;
first = n;
Вычисляем и выводим ответ.
res = first + last;
printf("%d\n", res);
Реализация алгоритма – строка
Входное число
читаем в строку s.
char s[100];
Читаем входное
число. Установим pos равным индексу,
который указывает на первую цифру числа.
gets(s);
pos = (s[0] == '-') ? 1 : 0;
Находим сумму первой s[pos]
– ‘0’ и последней s[strlen(s) – 1] – ‘0’ цифры.
sum = s[pos] +
s[strlen(s)-1] - 2*'0';
Выводим ответ.
printf("%d\n",sum);
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
char[] s = con.nextLine().toCharArray();
int pos = 0;
if (s[0] == '-') pos = 1;
int res = s[pos] + s[s.length - 1] - 2 * '0';
System.out.println(res);
con.close();
}
}
Python реализация
Читаем входное
число n.
n = int(input())
Если число n отрицательно,
то меняем знак числа на противоположный.
if n < 0: n = -n
Преобразовываем число n в строку.
n = str(n)
Выводим сумму первой и последней цифры.
print(int(n[0]) + int(n[-1]))