1. 이진수 -> 10진수 변환 알고리즘을 작성하시오.


import java.util.Scanner;
import java.lang.Math;

public class binary_to_decimal {
    public static void main(String args[]) {
        int sum = 0;

        Scanner in = new Scanner(System.in);
        System.out.print("Input binary number: ");
        int a = in.nextInt();

        int count = (int) Math.floor(Math.log10(Math.abs(a))) + 1;

        for (int i = 1; i <= count; i++) {
            sum += a % (int)Math.pow(10, i) / (int)Math.pow(10, i-1) * (int)Math.pow(2, i-1);
        }
        System.out.println("\n" + a + " (2) = " + sum + " (10)");
    }
}




2. 입력한 수의 팩토리얼을 구하시오. (0! = 1, 음수는 abs)


import java.util.Scanner;
import java.lang.Math;

public class factorial {
    public static void main(String args[]) {
		int sum = 1;

        Scanner in = new Scanner(System.in);
        System.out.print("Input integer: ");
        int a = Math.abs(in.nextInt());

		for (int i = 1; i <= a; i++) {
			sum *= i;
		}
        System.out.println("\n" + a + "! = " + sum);
    }
}



저작자 표시 비영리 변경 금지
신고