Advertisement

2013蓝桥杯全国软件大赛C++模拟题:四方定理的解答

阅读量:

标题:四方定理

在数论研究中,存在一个广为人知的四方定理,其核心内容为:任意自然数均可通过不超过四个平方数之和的形式加以表达。
借助计算机技术,可以在特定数值范围内对这一结论进行验证。

针对较大数值的情况,采用简单的多重循环结构并不具备可行性。以下代码提供了一种可行的分解策略。

复制代码
 /*

    
 标题:四方定理
    
   4.   5. 数论中有著名的四方定理:所有自然数至多只要用四个数的平方和就可以表示。
    
 我们可以通过计算机验证其在有限范围的正确性。
    
   8. 对于大数,简单的循环嵌套是不适宜的。下面的代码给出了一种分解方案。
    
   10. 利用递归函数来解决
    
   12. */
    
 #include  <iostream.h>
    
 #include  <math.h>
    
 int f(int n, int a[], int idx)
    
 {
    
 	if(n==0) return 1;  //完成分解过程
    
 	if(idx==4)  return 0;  //表示已经找出四个数,结束
    
  
    
 	for(int i=(int)sqrt(n); i>=1; i--)
    
 	{
    
 		a[idx] = i;
    

全部评论 (0)

还没有任何评论哟~