Можно ли представить число в виде суммы трех квадратов натуральных чисел? - QBasic
Формулировка задачи:
Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел? Если можно, то укажите тройку x,y,z таких натуральных чисел что n=x^2+y^2+z^2. Я уже видел решение данной задачи на языках программирования как C++ и Pascal,но не владею данными языками.Прошу помочь с задачкой (прошу учесть,что я только начал обучение языкам программирования и решил начать с "QBasic" )
Решение задачи: «Можно ли представить число в виде суммы трех квадратов натуральных чисел?»
textual
Листинг программы
n=6 FOR x=1 TO SQR(n) FOR y=1 TO SQR(n-x*x) FOR z=1 TO SQR(n-x*x-y*y) IF n=x*x+y*y+z*z THEN PRINT "YES": STOP: END NEXT NEXT NEXT PRINT "NO"
Объяснение кода листинга программы
- В начале программы объявляется переменная
nсо значением 6. - Затем с помощью цикла
FORперебираются все возможные значенияxот 1 до квадратного корня изn. - Внутри этого цикла перебираются все возможные значения
yот 1 до квадратного корня изn-x*x. - Внутри этого цикла перебираются все возможные значения
zот 1 до квадратного корня изn-x*x-y*y. - Если выражение
n=x*x+y*y+z*zвыполняется, то выводится сообщениеYESи программа останавливается. - Если после перебора всех значений
x,yиzне было выполнено условие, то выводится сообщениеNO.