美文网首页
java经典50编程题(1-10)

java经典50编程题(1-10)

作者: iamzzz | 来源:发表于2017-12-06 01:43 被阅读0次
1.有一对兔子从出生后第三个月起,每个月都生一对小兔子,小兔子长到三个月后每个月又生一对兔子,假设兔子不死亡,问每个月兔子的总数为多少?

分析过程

java经典50编程题(1-10)

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:一开始我以为这就是菲波那切数列问题,后来看了看,好像不是,仔细分析以后,有了那个思考过程,发现又是菲波那切数列。

2.请输出101-202之间所有的素数。

分析过程:素数是它只能因式分解为1和它本身的乘积。也就是说素数不能被2到它本身的这些数整除。其中它的根方到它本身这些数不用计算,只需要判断它能否被2到它的根方这些数整除即可。

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:在逻辑控制输出部分,用到了布尔值的变化来控制。值得借鉴

3.输出所有的水仙花数。

分析过程:水仙数首先是一个三位数,每个数位上的立方的和恰好等于这个数。从100遍历到999即可判断出来。

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:java里面的Math里面的函数,真像c需要里面。

4.将一个正整数分解质因数如30=2×3×5

分析过程:正整数,首先它是非质数,从2开始除起,能够整除,再返回从2整除,不能够整除,除数变为2+1=3,重复上面步骤。后面的除数4等等的非质数的除数,因为在此之前都已经将它们的质因子除尽,在判断它们是仅仅一带而过。

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:在最后一个质因子输出,直接判断是否与n相等。完美的将分解式表达出来。

5.利用条件运算符的嵌套完成对应成绩等级的输出。大于等于90为A,60到89为B,小于60为C.

分析过程:Java种的条件运算符是指如下表达式: 关系表达式 ? 表达式1 : 表达式2,用来进行逻辑判断。

求解关系表达式,根据关系表达式的布尔值决定取值:关系表达式的值为true时取表达式1的值;关系表达式的值为false时取表达式2的值。

1、条件运算符的优先级低于关系运算符和算术运算符,高于赋值运算符。

2、JAVA中条件运算表达式中的关系表达式值的类型必须为布尔类型,只能是true或false。

3、结合性也是右结合性。

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:运算符的优先性问题,表达式的嵌套问题。在本题中,score>=90选择'A',否则则执行score>=60?'B':'C'这语句,这样就分出等级了。

6.求两个数的最大公约数和最小公倍数。

分析过程:辗转相除法可以求得最大公约数。举个例子演示一下这个算法的操作流程,如求1515和600的最大公约数.

第一次:用1515除以600,商2余315;

第二次:用600除以315,商1余285;

第三次:用315除以285,商1余30;

第四次:用285除以30,商9余15;

第五次:用30除以15,商2余0。

1515和600的最大公约数是15。

最大公倍数为两数之积除以最大公倍数。

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:古人智慧,发现了辗转相除法这么牛逼的算法。仰望。

7.输入一行字符,统计其中的数字,字母,空格以及其他字符。

分析过程:将输入的字符串转化为字符数组,遍历即可啊

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:java内置api还是好用诶。这简单的api能写的出来,那么以后得复杂的api自己也能够写出来吗?不如看看源码。

你有没有注意到eclipse在给出提示时,多个方法相似,但又有那么一点不同,这叫做方法重载吧,和多态真尼玛混乱。

8.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

分析过程:这个应该算迭代相加吧。

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:说实话,这个我反思不到什么,我最近做了一个梦,梦见我想分析数据,然后没数据,接着去弄数据,去学了黑帽子。差不多这个流程吧。

9.如果一个数的除了它本身以外所有因子的和恰好等于这个数,我们能称它为完全数。试输出1000以内的完全数。

分析过程:遍历,遍历,没什么好方法

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:像肖申克的救赎里面的人,一刻都不能停下来。最最无聊以及没状态的时候,找些简单的事来做。状态好的时候,各种复杂的东西搞起啊。哈哈哈哈

10.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

分析过程:等比数列走起,结果为路程s=100(3-(1/2)^(n-2))高度为h=100*(1/

2)^n

示例代码

java经典50编程题(1-10)

运行结果

java经典50编程题(1-10)

反思拓展:在以后的有规律的表达式,数学研究工作者早就研究好相关公式,等你来调用。你要做的是理解这个公式。如果可以的话,你可以自己充当数学研究人员。前者一般水平,后者才是科学工作者。

相关文章

  • java经典50编程题(1-10)

    1.有一对兔子从出生后第三个月起,每个月都生一对小兔子,小兔子长到三个月后每个月又生一对兔子,假设兔子不死亡,问每...

  • Java程序算法题50道

    JAVA基础编程练习50题 本文对50道经典的java程序题进行详细解说,对于初学者可以跳过一些逻辑性太强的题目,...

  • java经典50编程题(41-50)

    41.海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走...

  • java经典50编程题(21-30)

    求1+2!+3!+...+20!的和 分析过程:temp变量存阶乘过程中的暂时结果。乘完相加。 反思拓展:这次直接...

  • java经典50编程题(31-40)

    将一个数组逆序输出。 分析过程:Scanner接受一个数组,for倒序不就ok吗? 反思拓展: 我不想在里面设置输...

  • java经典50编程题(11-20)

    1.有1234这四个数字,他们可以组成多少互补相同的三位数 分析过程:遍历加逻辑判断 示例代码 运行结果 反思拓展...

  • JAVA经典算法50题

    【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...

  • JAVA经典算法50题

    【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...

  • Java经典算法50题

    【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...

  • Java面试经典编程题

    1、有1,2,2,3,4,5这6个数字,用Java写一个main函数,打印出所有不同的排列,如:512234要求:...

网友评论

      本文标题:java经典50编程题(1-10)

      本文链接:https://www.haomeiwen.com/subject/erohixtx.html