标题:被一道题弄凌乱了,写了半天总是不行,求助下啊
只看楼主
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
结帖率:78.13%
已结贴  问题点数:10 回复次数:24 
被一道题弄凌乱了,写了半天总是不行,求助下啊
任何一个自然数m的立方均可写成m个连续奇数之和。例如:
 1^3=1
 2^3=3+5
 3^3=7+9+11
 4^3=13+15+17+19
编程实现:输入一自然数n,求组成n^3的n个连续奇数。



#include <stdio.h>

main()
{
    int n,sum;
    int i,j,k=1;
    printf("please enter n:\n");
    scanf("%d",&n);
   while(1)
   {
      i=k;
      sum=0;
    while(n--)
   {
         sum+=i;
         i+=2;
      if(sum==n*n*n)
     {
        for(j=0;j<n;j++)
        {
            printf("%d\n",i);
             i=i-2;
        }
     }
    }
  
     
         k=k+2;
   
   }
}


写的乱七八糟,蒙圈了。。
搜索更多相关主题的帖子: include please 自然数 
2013-01-05 23:00
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
你连跳出循环都没。。。


[fly]存在即是合理[/fly]
2013-01-05 23:29
真的快乐
Rank: 2
等 级:论坛游民
帖 子:35
专家分:32
注 册:2013-1-3
得分:0 
我觉得你应该找到中间数,奇数个连续数和偶数个连续数的中间。
中间数=n*n*n/n
程序代码:
while(1)
{if(n%2==0)
{for(i=0,j=1;i<30000;i++,j++)
a[i]=n-j;
for(i=0,j=1;i<30000;i++,j++)
a[i]=n+j;
if(for(i=0;i<30000;i++;)(n*n*n)+==a[i])
bresk;
}
不知道大神们认为我的想法还有做法怎么样。
2013-01-05 23:34
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
其实理清思路就行

n^3 = a1 + a2 +...+ an

其中a1前面有(1 + 2 + 3 +...+ (n-1) = (n-1)*n/2 )个奇数,也就是a1 = 2 * ( (n-1)*n/2 ) + 1 = (n-1)*n + 1

然后还有a2 = a1 + 2....就这样输出 n 个连续奇数

写错了,已修改

[ 本帖最后由 azzbcc 于 2013-1-6 01:27 编辑 ]


[fly]存在即是合理[/fly]
2013-01-05 23:35
真的快乐
Rank: 2
等 级:论坛游民
帖 子:35
专家分:32
注 册:2013-1-3
得分:0 
猪哥所言甚是啊。
2013-01-05 23:38
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:10 
程序代码:
#include <stdio.h>
int main()
{
    int n, m;

    scanf("%d", &n);
    m = n * (n-1) + 1;

    printf("%d ^ 3 = ", n);
    while (--n)
    {
        printf("%d + ", m);
        m += 2;
    }
    printf("%d\n", m);

    return 0;
}


[fly]存在即是合理[/fly]
2013-01-05 23:40
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
猪哥??



[fly]存在即是合理[/fly]
2013-01-05 23:40
真的快乐
Rank: 2
等 级:论坛游民
帖 子:35
专家分:32
注 册:2013-1-3
得分:0 

oh,yeah
2013-01-05 23:43
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:0 
继猫哥之后又一雷人称号...
猪哥建议你尽快换一个头像,不然躺着也中枪啊...

I have not failed completely
2013-01-05 23:46
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
得分:0 
#include <stdio.h>
#include <stdlib.h>
 
int main()
 {
     int n;
     int i=1;
     printf("please enter n:\n");
     scanf("%d",&n);

     for(;;)
     {
         if((i-2)+i+(i+2) == n*n*n){
             printf("The three numbers are:%d   %d   %d",i-2,i,i+2);
             break;
         }

         i +=2;
     }

         system("pause");
     return 0;
}
2013-01-05 23:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-395256-1-1.html




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

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