2042.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 39 行

TXT
39
字号


#include <stdio.h>
#include <math.h>

int main()
{
	int n, i, j, k, s, t1, t2, t;

	while( 1 )
	{
		scanf( "%d", &n );

		if( n == 0 ) break;

		s = 0;
		for( i=(int)sqrt( n/4 ); i*i<=n; i++ )
		{
			t1=n-i*i;
			for( j=(int)sqrt( t1/3 ); j<=i && j*j<=t1; j++ )
			{
				t2=t1-j*j;
				for( k=(int)sqrt(t2/2) ; k<=j && k*k<=t2; k++ )
				{
					t = (int)sqrt( t2 - k*k );
					if( t <= k && t*t == t2 - k*k )
						s++;
				}
			}
		}

		printf( "%d\n", s );

	}
	return 0;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?