Вложенные циклы!
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Вложенные циклы! - 2009-12-07 18:50:25.093333
|
|
|
TimofeikoO
Сообщений: 4
Оценки: 0
Присоединился: 2009-12-07 18:48:31.303333
|
помогите с решением…очень надо. 1. Получить на экране таблицу из N строк, аналогичную данной: 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 2. В диапазоне [M;N] найти число с максимальной суммой делителей.
|
|
|
RE: Вложенные циклы! - 2009-12-07 19:34:38.526666
|
|
|
Login_hochu
Сообщений: 1471
Оценки: 0
Присоединился: 2007-07-15 14:19:23.423333
|
язык?
|
|
|
RE: Вложенные циклы! - 2009-12-07 19:35:44.930000
|
|
|
TimofeikoO
Сообщений: 4
Оценки: 0
Присоединился: 2009-12-07 18:48:31.303333
|
паскаль
|
|
|
RE: Вложенные циклы! - 2009-12-07 20:03:06.306666
|
|
|
Login_hochu
Сообщений: 1471
Оценки: 0
Присоединился: 2007-07-15 14:19:23.423333
|
quote:
помогите с решением Выкладывайте свои наработки, посмотрим. На будущее: Для решения таких задач есть прикрепленный топик: Решение задач на Паскале и Delphi
|
|
|
RE: Вложенные циклы! - 2009-12-08 08:55:11.530000
|
|
|
janitor
Сообщений: 100
Оценки: 0
Присоединился: 2009-09-11 15:33:08.426666
|
За синтаксис не ручаюсь: for j:=1 to N do begin for i:=j to N do write(i,' ') writeln; end Для второй: Можно считать сумму делителей каждого числа С на [N,M] и сравнивать с суммой делителей следующего, храня в памяти число с наибольшей суммой делителей. Проверка на "делимость" выглядит так: если C mod K =0 , то C делиться на К без остатка. Предлагаю проверять для всех К на [2,целое(C/2)] P.S. (C mod K) возвращает остаток от деления C на K
|
|
|
RE: Вложенные циклы! - 2009-12-08 17:00:46.456666
|
|
|
Login_hochu
Сообщений: 1471
Оценки: 0
Присоединился: 2007-07-15 14:19:23.423333
|
Первая - практически правильно: var i, j, n : integer;
begin
readln(n);
for j:=1 to N do begin
for i:=j to N do
write(i,' ');
writeln;
end;
readln;
end. Вторая примерно так:
var n, m, i, j, k, c ,r: integer;
begin
readln(n);
readln(m);
k := n; r:= n;
for i:= n to m do begin
c:=0;
for j := 1 to i do begin
if i mod j = 0 then c := c + j
end;
if c > k then begin
k:= c;
r:= i;
end;
end;
writeln(r);
readln;
end.
Предпологается, что m > n и оба больше нуля. с - сумма делителей, накапливаемая во вложенном цикле.
|
|
|
|
|