精华内容
下载资源
问答
  • #include<stdio.h> main() { int i,x,count,sum; for(i=1,x=1,count=1,sum=0;(x<=1000)&&(i<=1000);count++) { x+=i; i+=x; if((x>=100&&x<...}
  • n – Interactively Manage Your Node.js Versions Node.js version management: no subshells, no profile setup, no convoluted API, just simple. (Note: n is not supported natively on Windows.) ...
  • 问题这样的:古典问题:有一对兔子,出生后第3个...最多的方法就是先列出最初个月的兔子对数(注意对数,不是个数)。如下所示:1,1,2,3,5,8,13,21,34....然后观察数据的规律,从而得出这样一个结论:从第三个...

    问题是这样的:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子, 假如兔子都不死,问每个月的兔子总数为多少?

    这个问题相信大家已经不在陌生了。很多博客里都有各种不同的解答方法。

    最多的方法就是先列出最初几个月的兔子对数(注意是对数,不是个数)。如下所示:1,1,2,3,5,8,13,21,34....

    然后观察数据的规律,从而得出这样一个结论:从第三个月开始,兔子对数等于前面两个月的兔子对数之和。看到这里相信你已经有写出代码的思路了。这里也不再详细说明了。

    我要介绍的是,不知道这个规律的前提进行编程。

    思路是这样的:

    ①、有一个笼子,我们逐一取出笼子中的一对兔子(当然这两只兔子的年龄是相同的)。

    ②、若它们的年龄大于或等于三个月,则生出一对小兔子。

    ③、将这两对兔子放入笼中。

    ④、所有兔子的年龄加1(上面出生的兔子年龄不加)。

    ⑤、5查看此时笼子中的兔子数量。

    可能文字上理解起来会比较困难。相信你一看代码就明白了。下面是整个代码:package com.test;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.List;

    /**

    * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子, 假如兔子都不死,问每个月的兔子总数为多少?

    * @author Administrator

    */

    public class Rabbit {

    public static void main(String[] args) {

    List list = new ArrayList();

    list.add(new littleRabbit());

    for (int k = 1; k <= 20; k++) {

    for (int j = 0; j < list.size(); j++) {

    littleRabbit rabbit = (littleRabbit) list.get(j);

    int age = rabbit.getAge();

    if (age >= 3) {

    list.add(new littleRabbit());

    }

    age++;

    rabbit.setAge(age);

    }

    System.out.println("第" + k + "个月有" + list.size() + "对兔子,一共"+list.size()*2+"只。");

    // System.out.print(list.size()+",");

    }

    }

    }

    class littleRabbit {

    private int age = 1;

    public void growUp() {

    this.age++;

    }

    public int getAge() {

    return age;

    }

    public void setAge(int age) {

    this.age = age;

    }

    }

    运行程序会得到下面的结果:第1个月有1对兔子,一共2只。

    第2个月有1对兔子,一共2只。

    第3个月有2对兔子,一共4只。

    第4个月有3对兔子,一共6只。

    第5个月有5对兔子,一共10只。

    第6个月有8对兔子,一共16只。

    第7个月有13对兔子,一共26只。

    第8个月有21对兔子,一共42只。

    第9个月有34对兔子,一共68只。

    第10个月有55对兔子,一共110只。

    第11个月有89对兔子,一共178只。

    第12个月有144对兔子,一共288只。

    第13个月有233对兔子,一共466只。

    第14个月有377对兔子,一共754只。

    第15个月有610对兔子,一共1220只。

    第16个月有987对兔子,一共1974只。

    第17个月有1597对兔子,一共3194只。

    第18个月有2584对兔子,一共5168只。

    第19个月有4181对兔子,一共8362只。

    第20个月有6765对兔子,一共13530只。

    我们可以发现,这样的繁殖速度实在是在惊人了。当繁殖月数为36月时,程序将会因为JVM内存不足而终止执行。

    展开全文
  • 问题这样的:古典问题:有一对兔子,出生后第3个月都生一对兔子,小兔子长到月后每月又生一 对兔子, 假如兔子都不死,问每月的兔子总数为多少? 这问题相信大家已经不在陌生了。很多博客里...

       问题是这样的:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子, 假如兔子都不死,问每个月的兔子总数为多少?

       这个问题相信大家已经不在陌生了。很多博客里都有各种不同的解答方法。

       最多的方法就是先列出最初几个月的兔子对数(注意是对数,不是个数)。如下所示:

    1,1,2,3,5,8,13,21,34....

    然后观察数据的规律,从而得出这样一个结论:从第三个月开始,兔子对数等于前面两个月的兔子对数之和。看到这里相信你已经有写出代码的思路了。这里也不再详细说明了。

       我要介绍的是,不知道这个规律的前提进行编程。

       思路是这样的:

       ①、有一个笼子,我们逐一取出笼子中的一对兔子(当然这两只兔子的年龄是相同的)。

       ②、若它们的年龄大于或等于三个月,则生出一对小兔子。

       ③、将这两对兔子放入笼中。

       ④、所有兔子的年龄加1(上面出生的兔子年龄不加)。

    ⑤、5查看此时笼子中的兔子数量。

       可能文字上理解起来会比较困难。相信你一看代码就明白了。下面是整个代码:

    package com.test;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    /**
     * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子, 假如兔子都不死,问每个月的兔子总数为多少?<br/>
     * @author Administrator
     */
    public class Rabbit {
        public static void main(String[] args) {
            List list = new ArrayList();
            list.add(new littleRabbit());
            for (int k = 1; k <= 20; k++) {
                for (int j = 0; j < list.size(); j++) {
                    littleRabbit rabbit = (littleRabbit) list.get(j);
                    int age = rabbit.getAge();
                    if (age >= 3) {
                        list.add(new littleRabbit());
                    }
                    age++;
                    rabbit.setAge(age);
                }
                System.out.println("第" + k + "个月有" + list.size() + "对兔子,一共"+list.size()*2+"只。");
    //          System.out.print(list.size()+",");
            }
        }
    }
    class littleRabbit {
        private int age = 1;
        public void growUp() {
            this.age++;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }

    运行程序会得到下面的结果:

    第1个月有1对兔子,一共2只。
    第2个月有1对兔子,一共2只。
    第3个月有2对兔子,一共4只。
    第4个月有3对兔子,一共6只。
    第5个月有5对兔子,一共10只。
    第6个月有8对兔子,一共16只。
    第7个月有13对兔子,一共26只。
    第8个月有21对兔子,一共42只。
    第9个月有34对兔子,一共68只。
    第10个月有55对兔子,一共110只。
    第11个月有89对兔子,一共178只。
    第12个月有144对兔子,一共288只。
    第13个月有233对兔子,一共466只。
    第14个月有377对兔子,一共754只。
    第15个月有610对兔子,一共1220只。
    第16个月有987对兔子,一共1974只。
    第17个月有1597对兔子,一共3194只。
    第18个月有2584对兔子,一共5168只。
    第19个月有4181对兔子,一共8362只。
    第20个月有6765对兔子,一共13530只。


    我们可以发现,这样的繁殖速度实在是在惊人了。当繁殖月数为36月时,程序将会因为JVM内存不足而终止执行。


    本文出自 “一个风向” 博客,请务必保留此出处http://lanffy.blog.51cto.com/6452125/1329776

    展开全文
  • 1、题目:古典问题:有一对兔子,出生后第3个月都生一对兔子,小兔子长到月后每月又生一对兔子,假如兔子都不死,问每月的兔子总数为多少对?(1)程序分析:不难发现兔子的规律:1,1,2,3,5,8,13...

    1、题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少对?

    (1)程序分析:不难发现兔子的规律是:1,1,2,3,5,8,13,21....

    其实这个问题也就是求斐波那契数列的问题。

    (2)思路:应用递归来实现。1,2月的时候总数为一对,从第三个月开始就会产生一个新兔子,总数为2对,也就是born(n-1)+born(n-2)

    (3)代码实现:

    1 /**

    2 * 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?3 *@authorlixiaochao4 * 兔子的规律为:1,1,2,3,5,8,13,21....5 */

    6 public classRabbit {7 public static voidmain(String[] args) {8 int n = 5; //月

    9 int m = 0; //兔子总数

    10 m =born(n);11 System.out.println("一共有"+m);12 }13 public static int born(intn){14 if(n == 1){15 return 1;16 }else if(n == 2){17 return 1;18 }else{19 return born(n-1)+born(n-2);20 }21 }22

    23 }

    总结:当时看这个问题的时候,一看有点绕,而且很容易绕晕了,我们现在开始把他列举一下,从而发现出规律,然后转换一下求斐波那契数列的问题,这个问题就会很容易做了。

    有的时候我们可以转换一下思路,问题有可能会变得很简单的。

    2、判断101-200之间有多少个素数,并输出所有的素数,

    (1)分析:首先我们要先了解判断素数的方法是什么,用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。这种方法非常简单效率也非常快。

    (2)思路:略。(因为比较简单,所以省略掉了,如果大家对这个有疑问,可以留言告诉我)

    (3)代码:

    1 /**

    2 * 判断101-200之间有多少个素数,并输出所有素数。3 *4 * 分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数5 */

    6 //@Test

    7 public voidtest01(){8 int num = 0;9

    10 List list = new ArrayList();11 for(int i = 101; i < 201; i++){12 boolean flag = true; //每次执行的时候把flag置为true

    13 for(int j = 2; j < Math.sqrt(i)+1;j++){14 if(i % j == 0){15 flag = false;16 break;17 }18 }19 if(flag){20 num ++;21 list.add(i);22 System.out.println(i);23 }24 }25 System.out.println("素数的个数为:"+num);26 for(Integer n : list){27 System.out.println(n);28 }29 }30

    总结:对于问题,我们要先想好解决问题的最好的方法,不要急于写代码,找到合理的算法才是解决问题最有效的途径。

    3、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    (1)分析:

    对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:

    * (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

    * (2)如果n > i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数,重复执行第一步。

    * (3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。

    (2)思路:先找到一个最小的质数i,这个数n是否能够整除这个最小的质数i,如果能整除,则n=n/i,如果不能整除,i=i+1,在再判断这个是n是否能够整除i+1,当这个质数恰好等于n的时候分解质因数结束。

    (3)代码如下:

    1 /**

    2 * 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。3 * 程序分析:对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:4 * (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。5 * (2)如果n > i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数,重复执行第一步。6 * (3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。7 *8 */

    9 @Test10 public voidtest(){11 int n = 7;12 int i = 2;13 while(true){14 if(n ==i){15 System.out.println(i);16 break;17 }18 if(n%i == 0){19 System.out.println(i);20 n = n /i;21 }else{22 i = i+1;23 }24 }25 }

    总结:多看,多想,多练!!!

    展开全文
  • 有些人不想用互联网,有些人没电脑,用不互联网,或者没接受过使用互联网的基础教育。欧洲55岁以上的人只有16%的人使用互联网,也就是说其余84%的人都不用,这重大的挑战。 欧洲公共网站只有3%符合...
  • 菲波拉契

    2013-10-31 16:34:18
     如果一对兔子每月能生1对小兔子,而每对小兔在它出生后的第3个月裏,又能开始生1... 这串数裏隐含著一个规律:从第3数起,后面的每个数它前面那两个数的和,而这一个序列便大名鼎鼎的斐波那契数列。 p...

           如果一对兔子每月能生1对小兔子,而每对小兔在它出生后的第3个月裏,又能开始生1对小兔子,假定在不发生死亡的情况下,由1对初生的兔子开始,2年后能繁殖成多少对兔子?

           根据推算,前面几个月的兔子的对数非别是:1,1,2,3,5,8。。。

          这串数裏隐含著一个规律:从第3个数起,后面的每个数都是它前面那两个数的和,而这一个序列便是大名鼎鼎的斐波那契数列。

    public static void main(String[] args) {
    		System.out.println(count(getFibonacci(2 * 12)));// 两年后会有121392对
    	}
    
    	public static int[] getFibonacci(int n) {
    		int a[] = new int[n];
    		a[0] = 1;
    		a[1] = 1;
    		for (int i = 3; i <= n; i++) {
    			a[i - 1] = a[i - 2] + a[i - 3];
    		}
    		return a;
    	}
    
    	public static int count(int[] a) {
    		int sum = 0;
    		for (int i = 0; i < a.length; i++)
    			sum += a[i];
    		return sum;
    	}

     

    展开全文
  • 第5章 最佳逼近多项式的特征 第6章 切比雪夫多项式的三角形式在几何中的应用 6.1 第一型切比雪夫多项式 6.2 第二型切比雪夫多项式 第7章 切比雪夫多项式的三角形式不等式 第8章 切比雪夫多项式的拉格朗日形式 第9...
  • 如果知道数码管的芯数,即每段是几个二极管组成就可以直接给数码管一定伏特的电压,很快就能测出来。本课程设计采用共阴极数码管。 图3-7 共阴极数码管引脚图 注意事项: 表面不要用手去触摸; 焊接温度:370度;...
  • 种算法

    2016-07-16 12:30:23
    一,菲波那切数列; 这个由兔子繁殖引发的数字排列问题,原题目说有一对兔子自出生第3个月每个月都...由数列分析发现,从第个数开始,每个数的值都它前两位的数之和,进而我们可以用公式表示: f1,f2,f3=f1+
  • 随笔结构: 一、初识 二、代码实现 三、研究分析 一、初识 “如果一对兔子每月能生1对小兔子,而每对小兔在它出生...这串数里隐含着一个规律:从第3数起,后面的每个数它前面那两个数的和。而根据这个规...
  • 第5章 MySQL Administrator和MySQL Query Browser 65 5.1 安装 65 5.2 与MySQL服务器建立连接 66 5.3 MySQL Administrator 67 5.3.1 Server Information模块(查看服务器信息) 68 5.3.2 Service Control模块...
  • 到m时,对应的小孩出列,依次重复,问最后留下的小孩是第几个小孩?例如:总共有6小孩,围成一圈,从第小孩开始, 每次数2小孩,则游戏情况如下: 小孩序号:1,2,3,4,5,6 离开小孩序号依次为...
  • 7-5 猴子选大王 (20 分)

    2019-09-26 20:13:00
    从第1号开始报,每轮1报到3,凡报到3的猴子即退出圈子,接着又紧邻的下一只猴子开始同样的报。如此不断循环,最后剩下的一只猴子就选为猴王。请问原来第几号猴子当选猴王? 输入格式: 输入在一行中给一...
  • 根据你选择的发行版不同,下面三脚本里选一来用。 不要相信百度来的长篇大论的所谓教程,那些都年前的老皇历了,会导致不判题,不显示,不好升级等等问题。 尤其别装 Apache ,如果已经安装,请先停用或...
  • 5-28 猴子选大王 (20分)

    2017-07-19 10:15:05
    从第1号开始报,每轮1报到3,凡报到3的猴子即退出圈子,接着又紧邻的下一只猴子开始同样的报。如此不断循环,最后剩下的一只猴子就选为猴王。请问原来第几号猴子当选猴王? 输入格式: 输入在一行中给...
  • 5-28 猴子选大王

    千次阅读 多人点赞 2015-10-21 22:13:48
    从第1号开始报,每轮1报到3,凡报到3的猴子即退出圈子,接着又紧邻的下一只猴子开始同样的报。如此不断循环,最后剩下的一只猴子就选为猴王。请问原来第几号猴子当选猴王? 输入格式: 输入在一行中...
  • 把序列的 1 记录看成有序的子序列,从第 2 记录逐个插入,直至整个序列成为新的有序序列。如图所示:数组长度为 8 ,需要插入 7 趟 。(2)代码实现(3)算法分析2、希尔排序(1...
  • 斐波那契数列指的这样一数列:1、1、2、35、8、13、21、34、…… 前两项为1,从第三项,每一项等于前两项的和,即F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*) 请用JS实现:输入斐波那契数列的...
  •  程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其它种,这里的include 称为文件包含命令,其意义把尖括号""或引号内指定的文件包含...
  • PAT-JAVA-5-28 猴子选大王 (20分)

    千次阅读 2016-05-09 13:43:22
    从第1号开始报,每轮1报到3,凡报到3的猴子即退出圈子,接着又紧邻的下一只猴子开始同样的报。如此不断循环,最后剩下的一只猴子就选为猴王。请问原来第几号猴子当选猴王? 输入格式: 输入在一行中...
  • 下面是几个命令行工具的例子。 <p><a name="d9ac9228"></a></p> 创建 <pre><code>sh # serverless $ serverless create --template aws-nodejs --path myService # fun $ fun init -n qcondemo helloworld-nodejs8 ...
  • ROS先进的机器人操作系统框架,现今已有研究团体和公司将其应用在机器人行业中。对于机器人技术的非专业人士来说,它也相对容易上手。在本书中,你将了解如何安装ROS,如何开始使用ROS的基本工具,以及...
  • 计算机网络五版谢希仁答案

    千次下载 热门讨论 2010-03-29 22:51:59
    答: 融合其他通信网络,在信息化过程中核心作用,提供最好的连通性和信息共享,一次提供了各种媒体形式的实时交互能力。 1-05 因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。 答:单个网络...
  • 精品文档笔算开平方法的计算步骤如下:1•将被开方的整数部分从个向左每隔两位划为一段,用撇号分开,分成几段,表示所求平方根是几位数;小数部分最高位向后两位一段隔开,段以需要的精度+1为准。2•根据...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 293
精华内容 117
关键字:

从3数起第5个数是几