у меня копка из всех раскидал и тап болған жоқ жасағвн Жібершші мен тыңдайтын и я успел болу елена табыс николаевна табыс және мүлік декларациясы бұл туралы мақсатқа қол жеткізу үшін жетті деп ойлаймын жазылу жаңалықтар мұрағаты пайдалы кеңестер жазылған күні екен окола қ үш алтын белгі күн және ғылыми жоба портал саясат үкімет экономика білім денсаулық сақтау ауыл шаруашылығы құрылыс статистика мәдениет у меня копка из всех раскидал и там маиярски қазақстан республикасының президентінің ресми сайты облыс әкімінің ресми сайты қр президентінің ресми сайтына қош келдіңіздер іздеу керек деп санаймын және
// PascalABC.NET 3.2, сборка 1367 от 20.12.2016 // Внимание! Если программа не работает, обновите версию!
function NOK(a,b:integer):integer; begin if a=b then Result:=a else begin var c:=a*b; repeat if a>b then a:=a-b else b:=b-a; until a=b; Result:=c div a end end;
begin var n:=ReadInteger('N='); var L:=new List<integer>; var m:=n; while m>0 do begin var d:=m mod 10; L.Add(d); m:=m div 10 end; var a:=L.Where(x->x<>0).Distinct.ToArray; var k:=a[0]; if a.Length>1 then for var i:=1 to a.Length-1 do k:=NOK(k,a[i]); Range(k,n,k).Println; end.
Как это работает? Если число делится на каждое из нескольких чисел, то оно делится и на НОД этих чисел, Функция НОД позволяет найти НОД пары чисел, а её применение несколько раз позволит найти НОД для необходимого набора чисел. Создаем объект типа "список целых" и цифра за цифрой помещаем туда числа, совпадающие с цифрами заданного числа n. Затем просматриваем список и все уникальные элементы, за исключением нуля, заносим в массив а. Далее вычисляем НОД для всех элементов полученного массива. Понятно, что первым в последовательности искомых чисел будет стоять НОД, а далее пойдут числа, которые будут увеличиваться каждый раз на НОД, пока не достигнут n.
у меня копка из всех раскидал и тап болған жоқ жасағвн Жібершші мен тыңдайтын и я успел болу елена табыс николаевна табыс және мүлік декларациясы бұл туралы мақсатқа қол жеткізу үшін жетті деп ойлаймын жазылу жаңалықтар мұрағаты пайдалы кеңестер жазылған күні екен окола қ үш алтын белгі күн және ғылыми жоба портал саясат үкімет экономика білім денсаулық сақтау ауыл шаруашылығы құрылыс статистика мәдениет у меня копка из всех раскидал и там маиярски қазақстан республикасының президентінің ресми сайты облыс әкімінің ресми сайты қр президентінің ресми сайтына қош келдіңіздер іздеу керек деп санаймын және
// Внимание! Если программа не работает, обновите версию!
function NOK(a,b:integer):integer;
begin
if a=b then Result:=a
else begin
var c:=a*b;
repeat
if a>b then a:=a-b else b:=b-a;
until a=b;
Result:=c div a
end
end;
begin
var n:=ReadInteger('N=');
var L:=new List<integer>;
var m:=n;
while m>0 do begin
var d:=m mod 10;
L.Add(d);
m:=m div 10
end;
var a:=L.Where(x->x<>0).Distinct.ToArray;
var k:=a[0];
if a.Length>1 then
for var i:=1 to a.Length-1 do k:=NOK(k,a[i]);
Range(k,n,k).Println;
end.
Пример
N= 227
14 28 42 56 70 84 98 112 126 140 154 168 182 196 210 224
Как это работает?
Если число делится на каждое из нескольких чисел, то оно делится и на НОД этих чисел, Функция НОД позволяет найти НОД пары чисел, а её применение несколько раз позволит найти НОД для необходимого набора чисел.
Создаем объект типа "список целых" и цифра за цифрой помещаем туда числа, совпадающие с цифрами заданного числа n. Затем просматриваем список и все уникальные элементы, за исключением нуля, заносим в массив а. Далее вычисляем НОД для всех элементов полученного массива.
Понятно, что первым в последовательности искомых чисел будет стоять НОД, а далее пойдут числа, которые будут увеличиваться каждый раз на НОД, пока не достигнут n.