编程题
                四方定理

题目描述

本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一,则只需选择其一进行补全提交即可。复制后需将源代码中填空部分的下划线删掉,填上你的答案。提交后若未能通过,除考虑填空部分出错外,还需注意是否因在复制后有改动非填空部分产生错误。

数论中有著名的四方定理:所有自然数至多只要用四个数的平方和就可以表示。我们可以通过计算机验证其在有限范围的正确性。

对于大数,简单的循环嵌套是不适宜的。下面的代码给出了一种分解方案。

请仔细阅读,填写空缺的代码(下划线部分)。

源代码

C


#include <stdio.h>
#include <stdlib.h>

int f(int n, int a[], int idx)
{
	if(____________) return 1;
	if(idx==4)  return 0;

	for(int i=(int)sqrt(n); i&gt;=1; i--)
	{
		a[idx] = i;

		if(____________)
			return 1;
	}

	return 0;
}

int main(int argc, char* argv[])
{
	
	
		int number;
		printf("输入整数(1~10亿):");
		scanf("%d",&amp;number);
		
		int a[] = {0,0,0,0};

		int r = f(number, a, 0);

		printf("%d: %d %d %d %d\n", r, a[0], a[1], a[2], a[3]);
		
	

	return 0;
}
            </stdlib.h></stdio.h>
查看答案
赣ICP备20007335号-2