JAVA三道编程题

package java_chapt1;

import java.math.BigDecimal;

public class PowTest {
	public static void main(String[] args) {
		double num1 = 0.2;int num2 = 5;
		System.out.println(pow(num1,num2));
	}
	public static String pow(double num1,int num2) {
		BigDecimal num = new BigDecimal("1");
		BigDecimal num3 = new BigDecimal(String.valueOf(num1));
		for(int i=1;i<=num2;i++) {
			num = num.multiply(num3);
		}
		return num.toPlainString();
	}
}

package java_chapt1;

public class HametonTest {

	public static void main(String[] args) {
		int num1 = 1,num2 = 2;
		System.out.println(compare(getBinary(num1),getBinary(num2)));
	}
	
	public static int getBinary(int num) {
		String num1 = "";
		while(num>0) {
			num1 = num%2 + num1;
			num /= 2;
		}
		return Integer.parseInt(num1);
	}

	public static int compare(int num1,int num2) {
		int cnt = 0;
		while(num1>0||num2>0) {
			if((num1%10)!=(num2%10)) ++cnt;
			num1 /= 10;
			num2 /= 10;
		}
		return cnt;
	}
}

package java_chapt1;

import java.util.Arrays;

public class TriangleTest {

	public static void main(String[] args) {
		int num = 4;
		int num1 = 3;
		int arr[] = {2,2,3,4};
		int count = getCount(num,num1);
		int arr1[][] = getAll(num,count,num1,arr);
		System.out.println(Arrays.deepToString(arr1));
		System.out.println(getTriangleCount(arr1));
	}
	
	public static int getFactorial(int num,int num1) {
		if(num1==1) return num;
		return num*getFactorial(num-1,--num1);
	}
	
	public static int getCount(int num,int num1) {
		return getFactorial(num,num1)/getFactorial(num1,num1);
	}
	
	public static int[][] getAll(int num,int rowcount,int colcount,int arr[]){
		int rowidx = 0;
		int colidx = 0;
		int arr1[][] = new int[rowcount][colcount];
		for(int i=0;i<num;i++) {
			for(int j=i+1;j<num;j++) {
				for(int k=j+1;k<num;k++) {
					arr1[rowidx][colidx++] = arr[i];
					arr1[rowidx][colidx++] = arr[j];
					arr1[rowidx][colidx++] = arr[k];
					++rowidx;
					colidx = 0;
				}
			}
		}
		return arr1;
	}
	
	public static int getTriangleCount(int arr[][]) {
		int count = 0;
		for(int arr1[] : arr) {
			int num1 = arr1[0];
			int num2 = arr1[1];
			int num3 = arr1[2];
			if((num1+num2)>num3&&(num1+num3)>num2&&(num2+num3)>num1) ++count;
		}
		return count;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

humors221

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值