数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。
请编程证此定理。
*问题分析与算法设计
本题是一个定理,我们不去证明它而是编程序验证。
对四个变量采用试探的方法进行计算,满足要求时输出计算结果。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int number, i, j, k,l;
printf("Please enter a number =");
scanf("%d", &number);
for(i = 1; i < number / 2; i++)
for(j = 0; j <= i; j++)
for(k = 0; k <= j; k++)
for(l = 0;l <= k; l++)
if(number == i*i + j*j + k*k + l*l)
{
printf(" %d = %d*%d + %d*%d + %d*%d + %d*%d\n",number,i,i,j,j,k,k,l,l);
exit(0);
}
return 0;
}
1) Please enter a number = 110
110=7*7+6*6+4*4+3*3
2) Please enter a number = 211
211=8*8+7*7+7*7+7*7
3) Please enter a number = 99
99=7*7+5*5+4*4+3*3