program raf105;
var abc,ab,bc:integer;
begin
write('Введите трёхзначное число: ');
readln(abc);
ab:= abc mod 100;
bc:= abc div 10;
if ab = bc
then writeln('Число состоит из одинаковых цифр')
else writeln('Число не состоит из одинаковых цифр');
end.
ОбъяснениеДля выполнения задачи достаточно найти первые 2 цифры и последние 2 цифры если они равны, то число состоит из одинаковых цифр
abc mod 100 Убирает все сотни из числа.
Например было число 123, стало 23.
482 стало 82
abc div 10 Считает сколько в числе целых десяток, но не считает остаток.
Например было число 123, стало 12
482 стало 48
Сравнивание 2 первых и 2 последних цифр
253 25 и 53 не равны, значит число не состоит из одинаковых цифр
121 12 и 21 не равны, значит число не состоит из одинаковых цифр
111 11 и 11 равны, значит число состоит из одинаковых цифр
Сначала сделал с рекурсивной функции, но затруднение было только с суммой элементов, по этому написал через цикл как впрочем и должно быть.
Console.WriteLine("Введите число");
int x = Convert.ToInt32(Console.ReadLine());
int y = x;
int sum = 0;
for (int i = 0; i < 4; i++)
{
y = x % 10;
x = x / 10;
Console.Write(y);
sum = sum + y;
}
Console.Write(" = " + sum);
Console.ReadLine();
ответ:1. Таблицы сложения и умножения:
Вычисления во вложении. Последнее деление на самом деле можно было бы "в столбик" и не писать, и так понятно, какой будет результат.
2. Переводим в двоичную систему счисления и дописываем вперед незначащие нули, пока не наберётся 8 знаков:
3. Добавляется знаковый бит: дописываем вперед 0, если число положительное, и 1, если отрицательное. Для неотрицательных чисел по сути ничего не меняется, а отрицательные представляем в дополнительном коде: меняем все биты на противоположные и добавляем к результату 1.
-56: меняем биты на противоположные (получаем 11100011) и добавляем 1. Окончательно получается
Объяснение: