Предмет: Информатика,
автор: sisikol
написать программу в паскаль ABC. Теорема Ферма утверждает, что не существует решения в целых числах уравнения x^n+y^n=z^n при n>2.
напишите программу, которая проверяла бы это утверждение при заданном n для всех x,y и z меньших 100.
Ответы
Автор ответа:
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 уже придётся использовать длинную арифметику.
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 уже придётся использовать длинную арифметику.
Похожие вопросы
Предмет: История,
автор: anna121007
Предмет: Русский язык,
автор: hiperok754
Предмет: Русский язык,
автор: alimanovagulmira51
Предмет: Биология,
автор: karina16karina
Предмет: История,
автор: myauricca