1) Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ю степень, где N - количество цифр в числе, равна самому числу. Напримерт153=1^3 5^3 3^3. Найдитетвсе трехзначныеии четырехзначныеичисла Армстронга
var a,b,c,d,a2:integer;
begin
for a:=100 to 9999 do begin
d:=0;
a2:=a;
while (a2 <> 0) do begin
b:= a2 mod 10;
a2:= a2 div 10;
if a<1000 then c:= (b*b*b)
else c:=(b*b*b*b);
d:= d+c;
end;
if (a = d) then writeln('число армстронга ==> ', a);
end;
end.
2)Авmoморфные числа. Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например: 25 и 625. Напишите программу, которая вводит натуральное число N и выводит на акран все автоморфные числа, не превосходящие N.
var n,i,l:integer; s1,s2:string;
begin
write('n = '); readln(n);
for i:=1 to n do
begin
str(i,s1);
l:=length(s1);
str(i*i,s2);
if s1=copy(s2,length(s2)-l+1,l) then writeln(i,' ',i*i);
end;
end.
3)Модифицированный алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на остаток от деления большего на меньшее до тех пор, пока остаток не станет равно нулю; тогда второе число и есть НОД. Напишите программу, которая реализует этот алгоритм.
var a,b,nod,k:integer;
begin
readln(a,b);
k:=0;
while (a<>0)and(b<>0) do
begin
if a>b then a:=a mod b else b:=b mod a;
k:=k+1;
end;
nod:=a+b;
writeln(nod,' ',k);
end.
var a, i: integer;
begin
a := 1;
for i := 1 to 15 do
begin
writeln('Корень числа: ',a, ' , равен: ', sqrt(a):5:2);
a := a + i;
end;
end.
Текстовый вывод:
Корень числа: 1 , равен: 1.00
Корень числа: 2 , равен: 1.41
Корень числа: 4 , равен: 2.00
Корень числа: 7 , равен: 2.65
Корень числа: 11 , равен: 3.32
Корень числа: 16 , равен: 4.00
Корень числа: 22 , равен: 4.69
Корень числа: 29 , равен: 5.39
Корень числа: 37 , равен: 6.08
Корень числа: 46 , равен: 6.78
Корень числа: 56 , равен: 7.48
Корень числа: 67 , равен: 8.19
Корень числа: 79 , равен: 8.89
Корень числа: 92 , равен: 9.59
Корень числа: 106 , равен: 10.30