Java--简单算法

程序1//兔子的规律为1,1,2,3,5,8,13,21
public class Demo {
public static void main(String[] args) {
	int i=6;
	int count = getCount(i);
	System.out.println("count:"+count);
}
public static int getCount(int n){
	if(n==1||n==2){
		return 1;
	}else{
		return getCount(n-1)+getCount(n-2);
	}
	
}
}
程序2:求素数
public class Demo2 {
public static void main(String[] args) {
	for(int x=2;x<100;x++){
		if(getCount(x)){
			System.out.println(x+":是素数");
		}
	}
}
public static boolean getCount(int n){
    for(int x=2;x<n;x++){
		if(n%x==0){
			return false;
		}
		
	}
    return true;
}
}
程序3://打印水仙花数

public class Demo3 {
public static void main(String[] args) {
	for(int x=100;x<1000;x++){
		print(x);
	}
}
public  static void print(int n){
	int ge=n%100;
	int shi=n/10%10;
	int bai=n/100;
	if(n==ge*ge*ge+shi*shi*shi+bai*bai*bai){
		System.out.println(n+"是水仙花数");
	}
	
}
}
程序4:正整数分解因式:90=2*3*3*5;

public class Demo4 {
public static void main(String[] args) {
	//定义需要分解的正整数
	int  num=90;
	getYinShu(num);
}
//采用递归的方式
public static void getYinShu(int n){
	for(int x=2;x<=n;x++){
		if(n%x==0){
			System.out.print(x+"*");
			//分解一次之后将其商作为正整数再进行分解
			getYinShu(n/x);
		}
	}
	System.out.println(n);
	//System.exit(0)退出整个系统,否则程序会报错
	System.exit(0);
}
}

注意:System.exit(0)退出整个系统,否则程序会报错,此代码必须有
程序5:利用条件运算符的嵌套:学习成绩>=90  A    60-89分    B   60分以下    C
public class Demo5 {
public static void main(String[] args) {
	//键盘录入学习成绩
	Scanner sc=new Scanner(System.in);
	System.out.println("请输入学生成绩:");
	int score=sc.nextInt();
	System.out.println(getScore(score));
}

private static char getScore(int score) {
	if(score>=90){
		return 'A';
	}else  if(score>=60){
		return 'B';
	}else {
		return 'C';
	}
	
}
}
程序6:输入两个正整数m和n,求其最大公约数和最小公倍数

public class Demo6 {
public static void main(String[] args) {
	greateCommonDivisor(45,16);
}

//求m和n的最大公约数的方法:
public static void greateCommonDivisor(int m,int n){
	int temp=m>n?m:n;
	int gcd=0;
	for(int x=1;x<=temp;x++){
		if(m==1||n==1){
			System.out.println("最大公约数是1");
			break;
		}
		if(m%x==0&&n%x==0){
			gcd=x;
		}
		
	}
	System.out.println(m+"和"+n+"的最大公约数是:"+gcd);
	//求m和n的最小公倍数
	int t=gcd*(m/gcd)*(n/gcd);
	System.out.println(m+"和"+n+"的最小公倍数是:"+t);
}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值