В трицифровом числе N удалили вторую цифру. Когда результат умножили на 10, а к произведению добавили вторую цифру числа N, то получили число X. Найти число X, если известно значение N.
var m:array of integer; n, i, old, Simple:integer;
function nod (var a,b: integer): integer; var c: integer; begin repeat if a > b then a := a mod b else b := b mod a; until (a = 0) or (b = 0); nod := a + b; end;
function IsSimple(const n: Integer): Boolean; var i: Integer; begin IsSimple:=True; for i:=0 to Length(m)-1 do begin if (n mod m[i])=0 then begin IsSimple:=False; Break; end; end; end;
begin repeat write('n: '); readln(n); SetLength(m, Length(m)+1); m[Length(m)-1]:=n; until n<=0; SetLength(m, Length(m)-1);
old:=nod(m[0], m[1]); for i:=2 to Length(m)-1 do old:=nod(old, m[i]); Writeln('Nod: ', old);
simple:=0; for i:=0 to Length(m)-1 do if IsSimple(m[i]) then inc(simple); Writeln('Simple: ', simple);
readln; end.
Нахождение НОД всех чисел это нод(нод(А, Б), В) и т.д. Остальное думаю понятно.
1. Ряд строится по принципу золотого сечения. Формула для вычисления члена последовательности такая: x(2)=x(1)+1, x(3)=x(2)+2, ... x(n)=x(n-1)+n-1
В нашем алгоритме для вычисления следующего члена последовательности будем запоминать текущий член последовательности в переменной kp. Затем получаем очередной член последовательности суммируя kp и переменную цикла i - 1. Делаем вычисления, выводим на экран и переписываем переменную kp новым значением.
var i,k,kp:integer; begin kp:=1; for i:=1 to 10 do begin k:=kp+i-1; kp:=k; writeln(k:5, k*k:6, k*k*k:8); end; end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку