- 博客(28)
- 收藏
- 关注
原创 PAT_Practice_1001害死人不偿命的(3n+1)猜想
嘿嘿嘿,我又回来编程了(ノ*・ω・)ノ先做做PAT上的简单习题,网址:https://pintia.cn/problem-sets/994805260223102976/problems/type/7第一题:1001 害死人不偿命的(3n+1)猜想卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一...
2020-03-16 23:45:35
283
1
原创 练习25
题目:一个5位数,判断它是不是回文数。例如:12321是回文数,个位与万位相同,十位与千位相同。分析:先判断输入是否是五位数,如果输入值大于99999或者小于10000,报错。输入正确的话,通过输入的五位数得到每一位数字,个位等于万位,十位等于千位同时满足时,这个数就是回文数。代码:import java.util.*;public class Practice25 {
2017-08-14 00:26:43
399
原创 练习24
题目:输入一个不多于5位的正整数,要求:1 求它是几位数;2 分别输出每一位数字;3 按逆序输出各位数字。例如原数为321,应输出123。分析:输入的正整数n除以10000如果大于1,说明它多于5位,输入错误。通过n得到n的每一位数字,输出然后逆序输出。分类讨论,简单而繁琐。代码:import java.util.*;public class Practice24 {
2017-08-14 00:16:18
459
原创 练习23
题目:有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2人大2岁。问第2个人,说比第1个人大2岁。最后问第1个人,他说是10岁。请问第5个人多大?分析:每个人都比后一个人小2岁,所以通过一个1到5的循环就能得到第五个人的年龄。代码:public class Practice23 {public sta
2017-08-14 00:13:24
342
原创 练习22
题目:利用递归方法求5!分析:定义一个方法,从5到1,每一次返回这一次的输入值与下一次的返回值之积,输入1时直接返回1。实际上可以推广为:通过输入不同的值得到任何数的阶乘。代码:import java.util.*;public class Practice22 {public static void main(String[] args){ Scanner
2017-08-14 00:03:38
336
原创 练习21
题目:求1!+2!+3!+...+20!的和。分析:使用一层循环进行阶乘,得到每一项的值,再使用一层循环累加得到每一项之和。代码:public class Practice21 {public static void main(String[] args){ int m = 1; //定义每一项的值 int sum = 0; //定义累加和 for(int
2017-08-14 00:00:48
301
原创 练习20
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。分析:序列前一项的分子是后一项的分母,前一项分子与分母之和是后一项的分子。代码:public class Practice20 {public static void main(String[] args){ int x = 2; //定义每一项的分子 in
2017-08-13 23:57:05
332
原创 练习19
题目:打印出一个7*7的菱形。分析:前四行和后三行是两个渐变方式相反的过程,所以分成两部分来进行。前四行空格数递减,*形数递增;后三行空格数递增,*形数递减。代码:public class Practice19 {public static void main(String[] args){ for(int i = 1; i <= 4; i++){ //输出前四行
2017-08-13 23:52:18
352
原创 练习18
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不跟x比,c说他不跟x,z比,请编程序找出三队比赛的对阵表。分析:利用三重循环,分别定义i,j,k为a,b,c三人的对手。i,j,k只能为a,b,c三者之一,其中i不等于x,k不等于x和z,i,j,k三者两两不相等。代码:public c
2017-08-13 23:46:50
322
原创 练习17
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个,此后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃子。分析:从后往前推,每天的前一天的桃子总数是当天的总数加1乘以2。代码:public class Practice17 {publ
2017-08-13 23:44:01
326
原创 练习16
题目:输出9*9乘法表。分析:通过一个简单的双重循环得到。代码:public class Practice16 {public static void main(String[] args){ for(int i = 1; i <= 9; i++){ for(int j = 1; j <= i; j++){ System.out.print(j + "*"
2017-08-13 23:41:12
289
原创 练习15
题目:输入三个整数x,y,z,请把这三个数从小到大输出。分析:x与y进行比较,小的变为x,大的变为y;再让y与z进行比较,小的变为y,大的变为z;最后让x与y进行比较,因为y可能已经变为了新的值,需要再与x比较一下,把小的变为x,大的变为y。代码:import java.util.*;public class Practice15 {public static vo
2017-08-13 23:34:54
397
原创 练习14
题目:输入某年某月某日,判断这一天是这一年的第几天。分析:每年除了二月,其他月份的天数都是固定的,而在闰年,二月有29天,不是闰年二月只有28天。把每个月的总天数存到一个数组中。计算这一天是这一年的第几天需要把这个月之前的月的天数加起来,再加上这一天的日数,结果就是所要求的天数。需要注意的是,当输入的年月日小于0,或者月大于12,日大于31,还有闰年2月的日大于29,非闰年2月的日大于
2017-08-13 23:25:17
341
原创 练习13
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?完全平方数:该数能用一个整数的平方表示,例如:9=3*3。分析:这道题看起来是找到这个整数,但其实问题的关键在于找到两个相差168的完全平方数。所以我们可以定义一个数组,装入1开始的完全平方数,找到其中相差168的两个元素,从而得到问题所要求的整数。这个数组不必太长,因为满足两个相邻元素的最
2017-08-13 23:13:45
295
原创 练习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%提
2017-08-13 22:59:15
424
原创 练习11
题目:有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:通过三重循环分别得到三位数的个位十位百位,并且每两位之间各不相等。代码:public class Practice11 {public static void main(String[] args){ int s = 0, n = 0; //定义要求的三位数s和个数n Sy
2017-08-13 22:53:44
316
原创 练习10
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米,第10次反弹多高。分析:第i+1次反弹的高度一定是第i次反弹高度的一半。总共经过的长度需要计算落下的过程和反弹起来的过程,可以把反弹和落下放进同一个过程,并且同一个过程中反弹和落下的经过的长度是相等的,都是前一过程的一半。在第一个反弹落下过程之前,还有一次从100米的高度落下的过程,不能
2017-08-08 19:22:16
288
原创 练习9
题目:一个数如果恰好等于它的因子之和,则这个数就称为完数,例如6=1+2+3,找出1000之内的所有完数。分析:这个题目主要是要找出一个数的因子。将数字i除以从1到i的数,如果能整除,说明被除数是i的因子。将i的所有因子相加,如果结果与i相等,则说明i是一个完数。代码:public class Practice9 {public static void main(String[] a
2017-08-08 19:16:26
262
原创 练习8
题目:求s=a+aa+aaa+a...a的值,其中a是一个数字,键盘输入a的值和相加的个数。分析:利用嵌套的方法得到每个加数,然后累加得到结果。每后一个加数等于前面的加数*10再加上a。代码:import java.util.*;public class Practice8 {public static void main(String[] args){ int a,n,s;
2017-08-08 19:04:53
293
原创 练习7
题目:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。分析:先将输入的字符串利用toCharArray()转化为字符数组,然后统计字符数组中的元素分别为英文字母,空格,数字和其他字符的个数。代码:import java.util.*;public class Practice7 {public static void main(String[] args){ S
2017-08-08 19:00:23
305
原创 练习6
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。分析:先求最大公约数:设输入的m和n中较大的数为m,用m除以n,得到的余数作为下一轮的除数n,n(较小的数)作为下一轮的被除数m,然后重复这一步骤,直到余数为0,则这一轮的被除数m就是最大公约数。最小公倍数为m和n的乘积除以最大公约数。代码:import java.util.*;public class Practice6 {
2017-08-08 18:54:18
358
原创 练习5
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60~89分之间的同学用B表示,60分以下的同学用C表示。分析:如果输入成绩大于100或者小于0,则输入成绩错误。成绩没问题的时候,使用条件运算符的嵌套对成绩完成不同等级的划分。条件运算符的嵌套的格式为:(条件表达式1)?(条件1的结果):(条件表达式2)?(条件2的结果):(剩下的结果)。这里是只有三种条件,但是在我
2017-08-08 18:32:43
301
原创 练习4
题目:将一个正整数分解质因数,例如:输入90,打印出90=2*3*3*5分析:分解质因数要从小到大开始分解,把正整数x先与i=2比较,如果能被2整除,则将i除以2得到第一步分解的结果,并将结果存入x中,如果不能被整除则i+1,继续前面的步骤,直到i代码:import java.util.*;public class Practice4 {public static void mai
2017-08-08 18:21:05
214
原创 练习3
题目:打印出所有水仙花数,所谓水仙花数是之一个三位数,其各位数字的立方和等于该数本身,例如153=1^3+5^3+3^3,所以153是一个水仙花数。分析:将给定数字的个位十位百位分解出来,分别取立方求和,然后与原数比较,大小相等即为水仙花数。代码:public class Practice3 {public static void main(String[] args){ int
2017-08-08 18:16:17
195
原创 练习2
题目:判断101~200之间有多少素数,并输出所有素数。分析:判断一个数i是否是素数,可以通过i是否会被从2到√i之间的数整除来进行判断。如果i会被这之间的至少一个数整除,那么i就不是素数,反之,i就是一个素数。程序:public class Practice2 {public static void main(String[] args){ int sum = 0; //统计素
2017-08-08 17:58:59
308
原创 练习1
古典问题:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子涨到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?思路:第i月生出来的兔子,到第i+2月可以开始生兔子。所以可以知道第i月的兔子对数等于第i-1个月的兔子对数,加上第i-2个月生下来的兔子的对数。程序:public class Practice1 {public static void mai
2017-08-08 17:39:53
259
原创 第一章 算法在计算中的作用
1.1 算法 对每个输入都以正确的输出停机,则称算法正确,并且该算法解决了给定的计算问题。算法可以用人类语言说明,也可以说明成计算机程序,甚至说明成硬件设计。唯一要求是这种说明能精准描述算法遵循的计算过程。互联网中使用算法的实例有:为数据传输寻找好的路由:使用搜索引擎快速的找到特定信息所在的网页。电子商务使用的核心技术包括公钥密码与数字签名,他们以数值算法和数论为基础。有时
2017-07-25 14:45:37
782
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅