Задание 1. Составить программу для решения следующей задачи: Дано натуральное число n. Найти сумму первой и последней цифры этого числа.
Так как число n берется произвольное и заранее нельзя сказать сколько цифр будет в данном числе, то в таких задачах работаем по следующему алгоритму: будем отбрасывать от числа по одной последней цифре до тех пор, пока от числа ничего не останется, а далее действуем в зависимости от задачи.
n=35789 3578 357 35 3 0
x y n n n n, y n
Отбрасывать последнюю цифру можно используя операцию div.
Фрагмент программы:
x:=n mod 10;
while n<>0 do begin
y:=n mod 10;
n:=n div 10;
end;
S:=x+y;
Задание 2. Составить программу для решения следующей задачи: Дано натуральное число n. Найти количество цифр этого числа.
k:=0;
while n<>0 do begin
n:=n div 10;
k:=k+1;
end;
Задание 3. Составить программу для решения следующей задачи: Дано натуральное число N. Найти все его натуральные делители.
n=5
делители: 1, 5
n=6
делители: 1, 2, 3, 6
For i :=1 to n do if N mod i = 0 then writeln(i);
Задание 4. Составить программу для решения следующей задачи: Дано натуральное число N. Является ли оно простым.
простые числа: 3, 5, 7, 11, 13…
количество делителей = 2 (единица и само число)
k:=0;
For i :=1 to n do if N mod i = 0 then k:=k+1;
if k = 2 then writeln(‘число простое’)
else writeln(‘число составное’);
Задание 5. Составить программу для решения следующей задачи: Найти натуральное число от 1 до 10000 с максимальной суммой делителей.
max:=0;
For i :=1 to 10000 do begin
S:=0;
{считаем сумму делителей числа i}
For j :=1 to i do if i mod j = 0 then S:=S+j;
{сравним сумму с максимальным числом}
if S > max then begin
max:=S;
t:=i;
end;
end;
writeln(max, t)
Задание 6. Напечатать таблицу сложения и умножения натуральных чисел
For i :=1 to 9 do
For j :=1 to 9 do writeln(i,’+’,j,’=’,i+j);
For i :=1 to 9 do
For j :=1 to 9 do writeln(i,’*’,j,’=’,i*j);