现在的位置: 首页 > 综合 > 正文

四方定理

2013年09月06日 ⁄ 综合 ⁄ 共 700字 ⁄ 字号 评论关闭

四方定理

数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。

请编程证此定理。*问题分析与算法设计本题是一个定理,我们不去证明它而是编程序验证。

对四个变量采用试探的方法进行计算,满足要求时输出计算结果。

#include<stdio.h>

int main()
{
	int number,i,j,k,l;
	while(1)
	{
		printf("Please enter a number = ");
		scanf("%d",&number);		//输入整数
		for(i=0;i<=number/2+1;i++)	//试探法。试探i,j,k,k的不同值
		{
			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)		//若满足定理要求则输出结果
						{
							if (j!=0&&k!=0&&l==0) printf("%d=%d*%d+%d*%d+%d*%d\n",number,i,i,j,j,k,k);	//整数由3个平方数组成
							else if (j!=0&&k==0&&l==0)printf("%d=%d*%d+%d*%d\n",number,i,i,j,j);	//整数由2个平方数组成
							else if (j==0&&k==0&&l==0)printf("%d=%d*%d\n",number,i,i);	//整数由1个平方数组成(整数本身是一个平方数)
							else printf("%d=%d*%d+%d*%d+%d*%d+%d*%d\n",number,i,i,j,j,k,k,l,l);	//整数由4个平方数组成
						}
					}
				}
			}
		}
	}
	return 0;
}

抱歉!评论已关闭.