注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

刘邓

每天收获一点点-目标:富足

 
 
 

日志

 
 

网易编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。  

2012-02-23 21:26:18|  分类: 技术类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
/*编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
解题思路:
          **找到数学规律。n以i为开头的j个整数的和为i*j+j*(j-1)/2;判断输入的整数是否和计算结果相同。
          如果相同则循环输出以i为开头的j个整数。
          这个题目给我最大的启示就是要学会用数学的方法来解决问题,在此之前我一直希望通过一种递归或者循环
          来建立一个包含所有能被连续整数和表示的整数集合,这我个人认为是一种计算机式的思维。
          以后在解决问题的时候要尝试数学抽象来解决问题。 
*/

#include<iostream>
using namespace std;
int main()
{
    int n;
    cout<<"Please Enter a Int Number:";
    cin>>n;
    cout<<n<<endl;
    int i,j,k;
    for(i=1;i<(n+1)/2;i++)
        for(j=1;j<(n+1)/2;j++)
        if(i*j+(j*(j-1)/2)==n){
                               for(k=0;k<j;k++)
                               cout<<i+k<<" ";
                               cout<<endl;
                               }
    system("pause");
    return 0;
    }


 
 

  评论这张
 
阅读(969)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018