Написать программу в паскаль ABC. Теорема Ферма утверждает, что не существует решения в...

0 голосов
19 просмотров

Написать программу в паскаль ABC. Теорема Ферма утверждает, что не существует решения в целых числах уравнения x^n+y^n=z^n при n>2.
напишите программу, которая проверяла бы это утверждение при заданном n для всех x,y и z меньших 100.


Информатика (27 баллов) | 19 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Если n небольшие, то можно написать так:
var
  x, y, z, n: integer;
  disproved: boolean;
begin
  write('Введите n: ');
  readln(n);
  disproved := false;
  for x := 1 to 100 do
    for y := 1 to 100 do
      for z := 1 to 100 do
        if power(x, n) + power(y, n) = power(z, n) then
        begin
          writeln('Ферма ошибся! ', x, ' ^ ', n, ' + ', y, ' ^ ', n, ' = ', z, ' ^ ', n);
          disproved := true;
        end;
  if not disproved then
    writeln('Теорема не опровергнута');
end.
При больших n уже придётся использовать длинную арифметику.

(148k баллов)