JAVA经典编程50题
初学JAVA坚持做完,JAVA完全可以入门,每天做4-5题就可以
答案是本人自己做的,才初学浅,若有问题还希望有及时指出,感激不尽
联系QQ:1345523590 网名:叫我雷锋
【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
package java50;
public class Java1 {
/**
* @param 算法50题第一题。兔子问题,问题分析是一个斐波纳契数列,本题应该说有多种方法,我只写了其中一个,你自己可以试试用数组的方法,还有递归都可以。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//已经知道一月和二月的兔子数
int a1=1;
int a2=1;
int a3,a4;
//打印一二月的兔子数
System.out.print(a1+" "+a2);
//从3月开始,到十二月的兔子数
for(int i=3;i<=12;i++){
a3=a1+a2;
a1=a2;
a2=a3;
//打印每个月的兔子数
System.out.print(" "+a3);
}
}
}
【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
package java50;
import java.util.*;
public class Java2 {
/**
* @param args
* 求101到200之间的素数
* 素数是它除以2到sqr本身的数,没有能够整除他的
*/
public Java2(){}
品质好的java入门编程public void su(int a[]){
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]=new int [100];
for(int i=100;i<201;i++){
for(int j=0;j<a.length;j++){
a[j]=i;break;
}
}
Java2 j2=new Java2();
j2.su(a);
}
}
【程序3】
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
package java50;
public class Java3 {
/**
* 【程序3】 题目:打印出所有的 "水仙花数 ",
* 所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
* 例如:153是一个 "水仙花数 ",
* 因为153=1的三次方+5的三次方+3的三次方。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=101;i<1000;i++){
int a=i%10;
int b=(i/10)%10;
int c=i/100;
//System.out.print(a+""+b+""+c);
if(i==a*a*a+b*b*b+c*c*c){
System.out.println(i);
}
}
}
}
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
发表评论