Задача на пифагоровы тройки
Ясно, что следует прежде всего найти примитивную пифагорову тройку. Обычно задачу приводят к системе двух уравнений, анализируются варианты и находят в результате периметр, равный p=8010. Тем не менее задача решается моментально по программе. Правда, нужно заметить, что сначала я приял N=100 и ответа найдено не было. Похоже, что числа b и с значительно больше ста. Но и при N=1000 прога ничего не выдала. И только при N=10000 появился нужный ответ, что в таблице иллюстрации. Но поскольку комп у меня один из самых быстрых на сегодняшнее время, то время счета - не более секунды. На слабых компах требуется не менее 20 секунд. Но впереди квантовые машины и уже число циклов большого значения играть не будут. Сама прога столь проста, что для набивки потребуется мизер времени:
N=10000
print " a b c p "
print "----------------------"
a=89
for b=a+1 to N
for c= b+1 to N
if a^2+b^2=c^2 then
if c/2<>int(c/2) then
p=a+b+c
print a using "###",b using "#####";
print c using "#####",p using "#####"
fi:fi
next c
next b
В примитивной тройке гипотенуза "c" - всегда нечетна.
17 октября 2023 г.
Свидетельство о публикации №223101700961