函数 习题

public class HomeWork {
2题 写⼀个函数,接收⼀个整数,输出这个整数的所有因⼦。
public static void main(String[] args) {
// TODO Auto-generated method stub
//question2(35);
//int count=question5(456);
//System.out.println(“位数:”+count);
//question6();
printNum(12);
}
public static void question2(int num){
//打印出所有因子
for(int i=2; i<num; i++){
if(num%i==0){
System.out.print(i+" ");
}
}
}
//5题 写⼀个函数,接收⼀个整数,输出这个整数是⼏位数。
public static int question5(int num){
//321
//降位的思路
int count=1;
int newNum=num/10;
while(newNum!=0){
count++;
newNum=newNum/10;
}
return count;

}
//6、 求⼀个三位数,该三位数等与其每位数字的阶乘之和。
public static void question6(){
	for(int i=100; i<=999; i++){
		//取出i这个数各个位上的数
		int first=i%10;
		int second=i/10%10;
		int third=i/100;
		//调用方法计算阶乘
		int result1=factory(first);
		int result2=factory(second);
		int result3=factory(third);
		if(result1+result2+result3==i){
			System.out.println(i);
		}
	}
}
//计算一个数的阶乘
public static int factory(int num){
	if(num==0){
		return 0;
	}
	if(num==1){
		return 1;
	}
	return num*factory(num-1);
}
//7题 哥得巴赫猜想 
public static void printNum(int num){
	for(int i=3;i<num/2+1; i++){
		int add=num-i;
		//判断i   add 都是质数
		boolean result1=isNum(i);
		boolean result2=isNum(add);
		if(result1==true && result2==true){
			System.out.println(i+"   "+add);
		}
	}
}
//判断一个数是否是素数
public static boolean isNum(int num){
	boolean flag=true;
	for(int i=2;i<num; i++){
		if(num%i==0){
			flag=false;
			break;
		}
	}
	return flag;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值