竞赛java编程题50题(有答案)_计算机-Java.pdf
《竞赛java编程题50题(有答案)_计算机-Java.pdf》由会员分享,可在线阅读,更多相关《竞赛java编程题50题(有答案)_计算机-Java.pdf(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【程序 1】题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?/这是一个菲波拉契数列问题 public class lianxi01 public static void main(String args)System.out.println(第 1 个月的兔子对数:1);System.out.println(第 2 个月的兔子对数:1);int f1=1,f2=1,f,M=24;for(int i=3;i=M;i+)f=f2;f2=f1+f2;f1=f;System.out.println(
2、第+i+个月的兔子对数:+f2);package akjava;public class tuzi /*param args */public static void main(String args)int f1=1,f2=1,f;System.out.println(第1个月的兔子对数:1);System.out.println(第2个月的兔子对数:1);for(int i=3;i23;i+)f=f1+f2;欢迎下载 2 f1=f2;f2=f;System.out.println(第+i+月是:t+f+只兔子!);【程序 2】题目:判断 101-200之间有多少个素数,并输出所有素数。程序
3、分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能
4、被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 3 public class lianxi02 public static void main(String args)int count=0;for(int i=101;i200;i+=2)boolean b=false;for(int j=2;j=Math.sqrt(i);j+)if(i%j=0)b=false;break;else b=true;if(b=true)count+;System.out.println(i);System.out.println
5、(素数个数是:+count);package akjava;public class Sushu /*param args */public static void main(String args)int j,num=0;System.out.println(101 200 的素数是:);for(int i=101;i200;i+)for(j=2;ji;j+)if(i%j=0)break;假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素
6、数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 4 if(i=j)System.out.print(+i);num+;System.out.print(n 素数的个数是:+num);【程序 3】题目:打印出所有的 水仙花数,所谓 水仙花
7、数 是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个 水仙花数,因为 153=1 的三次方5 的三次方3 的三次方。public class lianxi03 public static void main(String args)int b1,b2,b3;for(int m=101;m1000;m+)b3=m/100;b2=m%100/10;b1=m%10;if(b3*b3*b3+b2*b2*b2+b1*b1*b1)=m)System.out.println(m+是一个水仙花数);假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数
8、第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 5 package akjava;public class ShuiXian
9、Hua /*param args */public static void main(String args)System.out.println(符合水仙花数的三位数是:);int a=0,b=0,c=0;for(int i=100;i0;)a=j%10;j=j/10;b=j%10;j=j/10;c=j%10;j=j/10;if(i=Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素
10、数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 6 System.out.print(+i);【程序 4】题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。程序分析:对 n 进行分解
11、质因数,应先找到一个最小的质数 k,然后按下述步骤完成:(1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。(2)如果 n k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你 n,重复执行第一步。(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。import java.util.*;public class lianxi04 public static void main(String args)Scanner s=new Scanner(System.in);System.out.print(请键入
12、一个正整数:);int n =s.nextInt();int k=2;System.out.print(n+=);while(k 1;)/if(n=k)System.out.println(n+=+n+*1);break;/else if(n%k=0)System.out.print(k);n=n/k;if(n!=1)System.out.print(*);假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打
13、印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 8 k+;else k+;【程序 5】题目:利用条件运算符的嵌套来完成此题:学习成绩=90 分的同学用 A 表示,60-89分之间的用 B 表示,60 分以下的用 C 表示。import java.util.*;publi
14、c class lianxi05 public static void main(String args)int x;char grade;Scanner s=new Scanner(System.in);System.out.print(请输入一个成绩:);x=s.nextInt();grade=x=90?A :x=60?B :C;System.out.println(等级为:+grade);假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分
15、的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 9 package akjava;import java.io.BufferedReader;import java.io.IOException;import java.io.Inp
16、utStreamReader;import java.util.Arrays;/import java.nio.Buffer;import java.util.Scanner;public class denji /*param args *throws IOException */public static void main(String args)throws IOException BufferedReader s=new BufferedReader(new InputStreamReader(System.in);String art=s.readLine();System.out
17、.println(art);Scanner scan=new Scanner(System.in);假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印
18、出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 10 System.out.println(请输入你的数据:);int n=scan.nextInt();char grade=(n=90?A:(n=60?B :C);System.out.println(grade=+grade);【程序 6】题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。/*在循环中,只要除数不等于 0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为 0,返回较大的数,此
19、数即为最大公约数,最小公倍数为两数之积除以最大公约数。*/import java.util.*;public class lianxi06 public static void main(String args)int a,b,m;Scanner s=new Scanner(System.in);System.out.print(键入一个整数:);a=s.nextInt();System.out.print(再键入一个整数:);b=s.nextInt();deff cd=new deff();m=cd.deff(a,b);int n=a*b/m;System.out.println(最大公约数
20、:+m);System.out.println(最小公倍数:+n);假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数
21、你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 11 class deff public int deff(int x,int y)int t;if(x y)t=x;x=y;y=t;while(y!=0)if(x=y)return x;else int k=x%y;x=y;y=k;return x;package akjava;import java.util.Scanner;public class 公约数公倍数 /*param args */private static int deff(int x,int y)if(x=y)return x;假如兔子
22、都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢
23、欢迎下载 12 if(y=0)return x;return deff(y,x%y);public static void main(String args)System.out.println(请输入你的两个数:);Scanner scan=new Scanner(System.in);int x=scan.nextInt();int y=scan.nextInt();int gongyueshu=deff(x,y);int gongbeishu=x*y/gongyueshu;System.out.println(公约数=+gongyueshu+公倍数=+gongbeishu);【程序 7】
24、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。import java.util.*;public class lianxi07 public static void main(String args)假如兔子都不死问每个月的兔子总数为多少这是一个菲波拉契数列问题第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第个月的兔子对数第月是只兔子程序题目判断之间有多少个素数并输出所有素数程序分的素数是欢迎下载素数的个数是程序题目打印出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身例如是一个水仙花数因为的三次方的三次方的三次方是一个水仙花数欢
25、迎下载符合水仙花数的三位数是欢后按下述步骤完成如果这个质数恰等于则说明分解质因数的过程已经结束打印出即可如果但能被整除则应打印出的值并用除以的商作为新的正整数你重复执行第一步如果不能被整除则用作为的值重复执行第一步请键入一个正整数欢 欢迎下载 13 int digital=0;int character=0;int other=0;int blank=0;char ch=null;Scanner sc=new Scanner(System.in);String s=sc.nextLine();ch=s.toCharArray();for(int i=0;i=0&ch=a&ch A&ch=Z)c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 竞赛 java 编程 50 答案 计算机
限制150内