1.有1234这四个数字,他们可以组成多少互补相同的三位数
分析过程:遍历加逻辑判断
示例代码
java经典50编程题(11-20)运行结果
java经典50编程题(11-20)反思拓展:还有更复杂的排序,怎么用选择,直接面对过程做出来的?还是寻求像在数学做题时的思维,然后抽象为代码,得出结果
12.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?
分析过程:这题我不想写。
示例代码
java经典50编程题(11-20)运行结果
java经典50编程题(11-20)反思拓展:前几天,手机坏了,电脑坏了,啥事也没干,烦。
13.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
分析过程:遍历,起点-100,终点表面上看上去是无穷大,实际上却有限制。简单的计算到就能得到结果156
示例代码
java经典50编程题(11-20)运行结果
java经典50编程题(11-20)反思拓展:我想到了另一种数学计算。
14.输入某年某月某日,判断这一天是这一年的第几天?
分析过程:这里面,年份判断是否闰年,一月一号是第一天,一月二号第二天,就是如此累加分析。switch选择流程先学习一波。
示例代码
java经典50编程题(11-20)运行结果
java经典50编程题(11-20)反思拓展:这以后代码越写越长怎么办?我怎么贴代码?还是贴图片吗?要不要转到pc端写?
15.输入三个整数x,y,z,请把这三个数由小到大输出。
分析过程:第一个数与第二个数比较,得出较大数,较大数与第三个数比较,得出最大数,然后再将剩下两个数比较,然后考虑次大数与第一个数情况,挺乱的,相比较冒泡排序,这种排很多数的情况,简单,但说起来复杂。
示例代码
java经典50编程题(11-20)运行结果
java经典50编程题(11-20)反思拓展:没有写成冒泡排序,代码冗余,这不是优秀代码。
16.输出9*9口诀。
分析过程:循环嵌套,这可比爬虫是循环递归嵌套简单多了。
示例代码
java经典50编程题(11-20)运行结果
java经典50编程题(11-20)反思拓展:睡前随便写写,简单小时间段做简单的事,充裕的时间想想复杂问题。
17.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
分析过程:按照数学计算,很容易找到每天剩余桃子的变化规律。但是抽象为编程语言,我的功底不能马上想到。这个应该算递归。反向递归应该可以办到。代码实现用循环做。
示例代码
java经典50编程题(11-20)运行结果:1534
反思拓展:这样的题目,算简单不得了的了。
18.两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
分析过程:这个算排序吧。a不与x比用代码怎么表示?笔头计算一下就出来了。
示例代码
运行结果
反思拓展:遍历,一共九次,排除不符合条件的情况。现在开始在电脑上写。
19. 打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
分析过程:直接一个一个打印输出。
示例代码:
运行结果
反思拓展:在for循环里面嵌套用三个并列的for,之间用println换行隔开即可。
20.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
分析过程:用斐波那契数列做分子分母求和。
示例代码
运行结果
反思拓展:java的除法和py的除法有点不同。int之间需要完全除尽的时候还需要将其中一个转化为double类型。斐波那契数列之间数字关系就像交换两个数而不能开辟另一个空间一样。
网友评论