Java学习三
今天利用课余时间做了两道Java题目。
1、斐波拉契数列问题
1 import java.util.Scanner; 2 3 //斐波拉契数列问题 4 public class Rabbite { 5 public static void main(String[] args) { 6 System.out.println("第一个月兔子对数:1"); 7 System.out.println("第二个月兔子对数:1"); 8 int f1=1; 9 int f2=1; 10 int f; 11 Scanner sc=new Scanner(System.in); 12 int num=sc.nextInt(); 13 for(int i=3;i<=num;i++) { 14 f=f2; 15 f2=f1+f2; 16 f1=f; 17 } 18 System.out.println("第"+num+"个月的兔子对数"+f2); 19 } 20 }
这道题的原理是从第三个数开始,每个数等于前两个数之和。然后利用程序实现。
2、两个数之间的素数个数
1 import java.util.Scanner; 2 3 public class sushu { 4 public static void main(String[] args) { 5 Scanner sc=new Scanner(System.in); 6 System.out.print("请输入第一个数:"); 7 int num1=sc.nextInt(); 8 System.out.print("请输入第二个数:"); 9 int num2=sc.nextInt(); 10 if(num1>=num2||num1<0||num2<0) { 11 return; 12 } 13 int count=0; 14 for(int i=num1;i<=num2;i+=2) { 15 boolean b=false; 16 for(int j=2;j<Math.sqrt(i);j++) { 17 if(i%j==0) { 18 b=false; 19 break; 20 }else { 21 b=true; 22 count++; 23 } 24 } 25 } 26 if(num1<=2) { 27 System.out.println("素数的个数:"+(count+1)); 28 }else { 29 System.out.println("素数的个数:"+count); 30 } 31 } 32 }
自己确定数据的范围,我设置的程序要求第一个数必须小于第二个数,并且两个数均大于0,否则程序运行终止。