Помогите разобраться в задачах

Тема в разделе "Delphi - FAQ", создана пользователем -, 26 ноя 2008.

Статус темы:
Закрыта.
  1. Гость

    1 задача: Напишите программу вывода на экран всех натуральных чисел, не превосходящих заданное число, которые можно представить в виде суммы квадратов двух чисел. Например
    13=(2*2)+(3*3).

    Решение:

    Program n1;
    var
    n, m : integer;
    i, j : integer;

    begin
    вводим числа с проверкой}
    repeat
    Write('Vvedite N (1..32000) > ');
    ReadLn(n);
    WriteLn('Naideno');

    until (n >= 1) and (n <= 32000); {проверяем ввод}

    for i := 0 to n do
    begin
    if i * i > n then break; {если квадрат первого числа больше n то смысла просматривать дальше нет}
    for j := i to n do
    begin
    if i*i + j*j > n then break; {если сумма квадратов больше n – то перебирать jсмысла нет}
    if i*i + j*j = n then writeln(i, ' * ', i, ' + ', j, ' * ', j, ' = ', n);
    end;
    end;
    readln;

    end.

    Где подчёркнуто не могу понять что за "найдено" ?? оно нужно разве? и ещё не пойму ограничения N (1..32000)

    Задача 2:

    Напишите программу расчета конечной суммы и сравнения полученного результата с контрольным значением. Число членов суммы вводится с клавиатуры с защитой от возможного неверного ввода данных.
    Вид суммы Контрольное значение
    13+23+33+43+…+N3 (N2 * (N +1)2) /4

    решение:
    Program n2;
    var
    n, i, s, c : longint;

    begin
    repeat
    write('Vvedite n (1..210) > '); {просим ввести N}
    readln(n);
    until (n >= 1) and (n <= 210); {проверяем ввод. Ограничения на макс число обусловлены выбранным типом данных Logint, т.к. при выборе большего числа для этого типа данных получим переполнение}

    s := 0;

    for i := 1 to n do {считаем сумму}
    s := s + I*I*I;

    writeln(s); {выводим сумму}

    c := ((n*n)*((n+1)*(n+1))) div 4;
    writeln&copy;; {выводим контрольное значение}

    if s = c Then Writeln('Ok') else Writeln('Error!!!'); {выводим результаты проверки}


    readln;
    end.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей