有趣的编程问题

有趣的编程问题

ID:42625367

大小:30.50 KB

页数:4页

时间:2019-09-19

有趣的编程问题_第1页
有趣的编程问题_第2页
有趣的编程问题_第3页
有趣的编程问题_第4页
资源描述:

《有趣的编程问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、给一个无限长的自然数构成的字符串S:12345678910111213141516…,它是由所有自然数从小到大依次排列起来的,任意给一个数字串S1,编程求出它第一次出现的位置。二、题目是我在别的论坛上找的,因为没有标准答案,不知道对不对?请高手们指出问题    /*题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,  小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的  兔子总数为多少?  这个题目相信大家都不会陌生了,那如果每个免子只能活10个月呢?  */    # include   //#

2、 include      void rabbit(int lifemonth,int month)  {  static int num=1;                    //设立静态变量,统计兔子个数      for(int x=0; xmonth)                      //判断是否超过月数  break;  if(x>2)                          //第3个月开始生  {  

3、num+=2;  rabbit(lifemonth,month-x);    //一只生一对,故调用2次  rabbit(lifemonth,month-x);  }  }        //system("cls");    cout << "after " << month << " month,"   << "the total num of the rabbit is: " << num << endl;       }    void main()  {  int lifemonth=10;            //兔子可以存活10个月  in

4、t month;                   //计算多少个月后兔子多少  cout << "please input the month" << endl;  cin >> month;  rabbit(lifemonth,month);                       }三、如何最好最快的方法求阶乘,也就是从1一直乘到n,怎么样试试吧。======================================================================一个很偶然的机会,谈到一个很有趣的编程题,阶乘的算法,阶乘是

5、从1一直乘到n,刚听到这个题,觉得很简单,用递归算法就可以搞定了,不过当来写这个代码的时候,才发觉,原来自己想的过于简单,由于n是不确定的,所以这个数值可能非常的大,远远大于我们的基本数据类型。那么怎样来表示这个数据结构了,一下就去思考这个方面的问题,如果是这样想的,那你就是中圈套了,数据结构是根本就解决不了的,只有在算法上做文章,那么应该是如何的算法了,其实就是最简单的9*9乘法口诀了,就可以搞定了。觉得很过瘾,特记下来,算法是个很有趣的研究。一个清晰和简洁的算法大有耳目一新的感觉。我的想法:(1)最快的方法就是打一个表,然后去查询。就是有点不实际。(2

6、)1*2*3*....*n=X,那么X=(p1^q1)*(p2^q2)*....*(pk^qk)k是小于X的质数的个数,pi是第i个质数,qi是该质数的指数,可以用logpi(N)方法求得pi^qi可以使用快速幂,复杂度是log2(qi)回比直接算要快四、题目描述:一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:15=1+2+3+4+515=4+5+615=7+8请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。输入数据:一个正整数,以命令行参数的形式提供给程序。输出数据:在标准输出上打印出符合题目描述的全部正整数

7、序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出“NONE”。例如,对于15,其输出结果是:1234545678对于16,其输出结果是:NONE评分标准:程序输出结果是否正确。大概思路:1.如果整数n能够表示成(p+1)+(p+2)....+q;那么n=sumN(q)-sumN(p);//其中sumN(q)表示0+1+2+...+q2.那么找到合适的p和q,问题便解决了。3.仔细思考便

8、可发现,如果整数n能够被表示成i个整数相加的话,那么这i个整数一定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。