Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 网易面试题:求连续几个自然数之和为S的序列
【标  题】:网易面试题:求连续几个自然数之和为S的序列
【关键字】:
【来  源】:http://blog.csdn.net/SammyLan/archive/2006/09/09/1200372.aspx

网易面试题:求连续几个自然数之和为S的序列

Your Ad Here

#include<iostream>

using namespace std::cout;

using std::endl;

void output(int const a,int const b)

{

    cout<<a<<"~"<<b<<endl;

}

bool getanser(int const sum)

{

    bool bFind=false;

    int mid=(sum+1)/2;

    int a=1,b=2,s=3;

    while (b<=mid)    {

       while(s>sum){

           s-=a;

           ++a;

           if (s==sum){

              bFind=true;

              output(a,b);

           }

       }

       ++b;

       s+=b;

       if (s==sum){

           bFind=true;

           output(a,b);

       }

    }

    return bFind;

}

int main()

{

    int sum;

    cin>>sum; 

    getanser(sum);

}#include<iostream>

using namespace std;

void output(int const a,int const b)

{

    cout<<a<<"~"<<b<<endl;

}

bool getanser(int const sum)

{

    bool bFind=false;

    int mid=(sum+1)/2;

    int a=1,b=2,s=3;

    while (b<=mid)    {

       while(s>sum){

           s-=a;

           ++a;

           if (s==sum){

              bFind=true;

              output(a,b);

           }

       }

       ++b;

       s+=b;

       if (s==sum){

           bFind=true;

           output(a,b);

       }

    }

    return bFind;

}

int main()

{

    int sum;

    cin>>sum; 

    getanser(sum);

}

 
网易面试题:二维排序数组的"二分查找":【上一篇】
关于Named Return Value(NRV)optimization-返回值优化:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • INET控件的几点使用
  • 软件测试之我见
  • Oracle10gR2 :CVU(Cluster Verification Utiltiy)的使用
  • telnet Email 欺骗
  • PhotoImpact 7.0 工具箱
  • 用Photoshop“组装”一只标本浸泡罐
  • .Net Remoting安全性与实现
  • AIX---02系统管理工具
  • 综合布线标准的测试指标要求
  • JDBC之接口技术
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.