若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

2573: 连续奇数和

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,185

题目描述

小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和。
    比如:
2^3 = 8 = 3 + 5
3^3 = 27 = 7 + 9 + 11

虽然他没有想出怎么证明,但他想通过计算机进行验证。
所以聪明的你快来帮小明证明吧,你的工作就是要找出任何数字的立方的连续奇数之和的表示,如上式所示。

输入

多组数据输入,第一行输入一个数T,接下来有T行。

每行输入一个数n,表示你要计算立方的数字。

输出

输出对应n的立方之连续奇数和表示法的序列。

样例输入

2
2
3

样例输出

3 5
7 9 11

参考代码

#include<stdio.h>
#include<math.h>
int main() 
{
    int n;
    scanf("%d",&n);
    while(n--) 
    {
        int x;
        //x 为输入的数 
        scanf("%d",&x);
        int x3=pow(x,3);
        for (int m=0; ;m++)//m为数字列开端,n为数字序列个数, 
        {
            int y=0;
            //判断是否求出序列 
            int sum;
            for (int n=1; ;n++) 
            {
                int sum=2*m*n+n*n;
                if(sum==x3) 
                {
                    for (int i=0;i<n;i++) 
                    {
                        printf("%d",2*(m+i)+1);
                        if(i!=n-1)
                                                    printf(" ");
                    }
                    y=1;
                } else if(sum>x3) break;
            }
            if(y) break;
        }
        printf("n");
    }
    return 0;
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

原站点 Skip Dreams孤独患者
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist