java4方法/函数练习(14道)

1.写一个函数add,接受两个整数作为参数,返回这两个整数的和。
public class Function {
	public static void main(String [] args) {
		Function f = new Function ();
		int result= f.add (2312);
		System.out.println (result);
	}
/**
 *文档注释:.写一个函数 add,接受两个整数作为参数,返回这两个整数的和。
 */
	public int add(int a,int b) {
		return a+b;
	}
}
2.写一个函数,接受一个整数,输出这个整数的所有因子。
3.写一个函数,接受一个整数n,输出1+2+3+...+n 的和
4.写一个函数,接受一个整数参数n,输出n 个HelloWorld
5.写一个函数,接受一个整数,输出这个整数是几位数
6.写一个函数,判断一个整数是否是质数
7.写一个函数,计算两点(x1, y1)(x2, y2)之间的距离
8.写一个函数,接受三个整数a, b, c,计算ax2+bx+c=0 的根。
9.求一个三位数,该三位数等与其每位数字的阶乘之和。
public void number(){
	for (int i=100;i<=999;i++){
		int sum = 0 ;//阶乘之和
		for (int j=1;j<4;j++) {
			int g = i%10;//求i的个位数
			sum += jc(g);//sum=sum+jc(3)=27  sum=sum+jc(8)
			i/=10;//求i的百位和十位
		}
		if(sum==i){
			system. out.println (i) ;
		}
	}
}
//计算n阶乘
public int jc(int n){
	int jc = 1;
	for (int i=1; i<=n; i++){
		jc *= i;
	}
	return jc;
}
10.验证角谷猜想:任给一个自然数,若为偶数除以2,若为奇数则乘31,得到一个新的自然数后按照上面的法则继续计算,若干次后得到的结果必然为1。
要求:读入一个自然数,输出计算的步骤。
public void count(){
	scanner sc = new scanner(system.in) ;
	system. out.println ("请输入一个自然数");
	int n = sc.nextInt() ;
	while(n != 1){
		if(n %2==0){
			system.out.println (n+"/ 2 = "+n/2) ;
			n/=2;l
		}else{
			system.out.println (n+" * 3 + l = "+(n*3+1));
			n =n*3+l;
		}
	}
}
11.已知两个完全平方三位数abc 和xyz,其中a、b、c、x、y、z 未必是不同的,而ax、by、cz 是三个完全平方数。求abc 和xyz
public class f{
    public static void main(String[] args){
        for (int i = 100; i < 1000; i++) {//abc
            for (int j = 100; j < 1000; j++) {// xyz
                int c = (i/1)%10;
                int b = (i/10)%10;
                int a = (i/100)%10;
                int z = (j/1)%10;
                int x = (j/10)%10;
                int y = (j/100)%10;
                // 判断是否都是完全平方数
                if (isSquare(i) && isSquare(j) && isSquare(a*10+x) && isSquare(b * 10 + y)
                        && isSquare(c * 10 + z)) {
                    System.out.println("abc:" + i + "xyz:" + j);
                }
            }
        }
    }
    public static boolean isSquare(int n){//判断是否为一个完全平方数
        if (n < 0)//不正常范围
            return false;
        if (n == 0 || n == 1)//正常且不是0和1
            return true;
        for (int i = 1; i <= n/2; i++){//把范围内的数表示
            if (i * i == n)//判断是否是完全平方数
                return true;
        }
        return false;// 在正常范围内且不是完全平方数
    }
}
12.如果整数A 的全部因子(包括1,不包括A 本身)之和等于B,且整数B 的全部因子(包括1,不包括B 本身)之和等于A,则称整数A\B 是一对亲密数。求3000 以内的全部亲密数。
class 亲密数 {
    public static void main(String[] args) {
        for (int A = 1; A < 3000; A++) {//从头循环数A
            int B = 0;//这是将A分解的因子加起来组成的B
            int C = 0;//这是将B分解因子加起来看是否等于A
            for (int i = 1; i<=A/2; i++) {//将A分解因子
                if(A%i == 0) {
                    B+=i;//将A的因子加起来,组成B
                }
            }
            for (int i = 1; i<=B/2; i++) {//将B分解因子
                if(B % i == 0) {
                    C+=i;//这是将B分解因子加起来看是否等于A
                }
            }
            if(C == A && A!=B ){//没有A<B是的话输出结果为“(220,284)(284,220)(1184,1210)(1210,1184)(2620,2924)(2924,2620)”
                System.out.print("(" + A + "," + B + ")");
            }
        }
    }
}
13.验证哥德巴赫猜想:任何一个大于6 的偶数,都能分解成两个质数的和。要求输入一个整数,输出这个数能被分解成哪两个质数的和。
eg:1414=3+1114=7+7
14.用递归的方法解决汉诺塔问题
汉诺塔是源自印度神话。上帝创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着n 片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。读入n,输出移动的顺序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值