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

  1. 求1+2!+3!+...+20!的和

分析过程:temp变量存阶乘过程中的暂时结果。乘完相加。

示例代码

运行结果:

反思拓展:这次直接在电脑上新建md文件,与之前在手机上新建不一样,为此还特地去学一下md语法。int类型的数不能存下20!大小,需要long类型变量存储结果。int32只能的最大无符号整型数为2^32-1,注意。

  1. 利用递归方法求5!。

分析过程:n==1的时候会退出递归,这是递归的结束点。其他条件就是向上递归或向下递归。条件也要相应的做一些改变。

示例代码

运行结果:

反思拓展:第一次在java中用递归,挺不熟练的。大致结构应该就是这样了吧。

  1. 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

分析过程:for 5次就ok

示例代码

运行结果

反思拓展:没意思。

  1. 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

分析过程:对10取余,除以10后得商成为新数。进入下一轮循环。

示例代码

运行结果:

反思拓展:之前在leetcode上写到过,用py3写的,比这要复杂点。逆序数首位不能为0。

  1. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

分析过程:首尾比较,一直比较到最后,中间的那一位。

示例代码

运行结果

反思拓展:与py是真的不同,好多东西得自己写。然后逻辑结构也不一样了。

  1. 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母

分析过程:switch语句搞定。

示例代码

运行结果

反思拓展:啰嗦的代码

28.求100之内的素数.

分析过程:100内的数,只要判断是不是能过被2,3,5,7整除。当大于100时,就不行了。

示例代码

运行结果

反思拓展:新求的素数,加入到2,3,5,7这样的数组中,在判断后面的数能不能被这个数组内的数整出。

  1. 对10个数进行排序

分析过程:排序算法有好多种。你知道吗?

示例代码

运行结果

反思拓展:在最后输出的时候,以空格分隔,使用的是double comma,and single comma will cause another problem.

  1. 求一个3*3矩阵对角线元素之和

分析过程: 对角线元素分别是第1,5,9元素,并且横纵数字相等。

示例代码

运行结果

反思拓展:好久没写了,突然特别有感觉。

30.有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

分析过程:对于第一个数,小于它就要插在最前面,对于最后一个数,大于它则插在最后面。中间的部分,左看看,右看看,哪里适合插哪里。

示例代码

运行结果



反思拓展:一开始写的时候,逻辑不清楚,部分情况重复。实际上,在判断最后一个元素与插入大小,不能写在for里面。但这又算是一种重复。查找元素位置,用对半查找法会更快。还有py几句就能搞定,java写了40多行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.有1234这四个数字,他们可以组成多少互补相同的三位数 分析过程:遍历加逻辑判断 示例代码 运行结果 反思拓展...
    iamzzz阅读 3,471评论 0 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,244评论 25 709
  • 谢谢你,没放弃 | 目录 上一章 | 求医解疑难 (十五)脉脉诉衷肠 唐雪拽着陆辰去了宠物店,虽然想好要买一条小狗...
    辰小夕阅读 2,206评论 3 9
  • 今日就不多说什么了,一下午都在健身房待着呢。 跑步, 有氧操, 瑜伽,yoga 20:40到家就回来洗衣服,换...
    樱木花道与夏阅读 1,105评论 0 0
  • 众里寻芳久未现, 芙蓉仙子今在前。 亭亭出水真佳丽, 灼灼其华娇羞颜。① 池鱼有意栖莲底, 蜻蜓多情立荷尖。② 春...
    凋谢盛开阅读 2,498评论 17 9