| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1251 人关注过本帖
标题:任何一个自然数都可以表示为4个整数的平方和,怎么编啊?弄了很久了就是不行 ...
只看楼主 加入收藏
爱她一个人
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-26
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
任何一个自然数都可以表示为4个整数的平方和,怎么编啊?弄了很久了就是不行,下有代码。
#include<stdio.h>
#include<math.h>
void main()
{
    int i,j,k,l;
    double m;
    for(i=0;i<=5;i++)
    for(j=0;j<=i/2;j++)
    for(k=0;k<=i/2;k++)
    for(l=0;l<=i/2;l++)
        m=sqrt(i-j*j-k*k-l*l);
    if(m=(int)m)
    printf("%d,%d,%d,%d,%d\n",i,j,k,l,m);
   
}        
            
搜索更多相关主题的帖子: double include 自然数 
2012-03-27 11:07
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:4 
for循环后面如果不跟{}就表示只循环执行后面的一句。

总有那身价贱的人给作业贴回复完整的代码
2012-03-27 11:10
spaceyang
Rank: 2
等 级:论坛游民
帖 子:14
专家分:46
注 册:2012-3-21
收藏
得分:4 
/***任意数都可以表示为4个整数的平方和********/

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

/************取i平方小于的数**************/
int kaifan( int n )
{
    int i;
    for (i = 0; i <= n; i ++)  
           {
        if(i*i == n)
        return i;
             if(i*i > n)
         return i - 1;            
           }
   
}
int main(void)
{
        int n, m, k, i, y, j;
    scanf("%d", &n);
    i =  kaifan(n);                 //调用赋值i
    for (j = i; j >= 0; j --)
    for (k = 0; k < j; k ++)
    for (m = 0; m < j; m ++)
    for (y = 0; y < j; y ++)
    if (n == j*j + k*k + m*m + y*y)
    {
    printf("%d,%d,%d,%d\n", j, k, m, y);
                }
    return 0;
}                                   
2012-03-27 17:05
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:4 
四数定理

                                         
===========深入<----------------->浅出============
2012-03-27 17:47
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:4 
这个问题的证明远比验证更有意思。搜“四平方和定理”。

重剑无锋,大巧不工
2012-03-27 18:13
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:4 
以下是引用爱她一个人在2012-3-27 11:07:32的发言:

#include
#include
void main()
{
    int i,j,k,l;
    double m;
    for(i=0;i<=5;i++)
    for(j=0;j<=i/2;j++)
    for(k=0;k<=i/2;k++)
    for(l=0;l<=i/2;l++)
        m=sqrt(i-j*j-k*k-l*l);
    if(m=(int)m)
    printf("%d,%d,%d,%d,%d\n",i,j,k,l,m);
   
}        
            
我给你改了一下,你参考看看:
#include<stdio.h>
void main()
{
    int i,j,k,l,m;
    for(i=0;i<=15;i++)
       for(j=0;j<=i/2;j++)
          for(k=j;k<=i/2;k++)
             for(l=k;l<=i/2;l++)
                for(m=l;m<=i/2;m++)
                    if(i==m*m+j*j+k*k+l*l)
                       printf("%d,%d,%d,%d,%d\n",i,j,k,l,m);

}

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2012-03-27 20:38
快速回复:任何一个自然数都可以表示为4个整数的平方和,怎么编啊?弄了很久了就 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.073464 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved