본문 바로가기

프로그래밍/자바

[자바] 정올 231 ~ 236 : 함수3 - 형성평가1~6

728x90
반응형

형성평가1

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if(n%2 == 0) solution_even(2, n);
        else solution_odd(1,n);
    }
    public static void solution_even(int a, int n){
        if(a > n) return;
        else{
            System.out.print(a + " ");
            a+=2;
            solution_even(a,n);
        }

    }
    public static void solution_odd(int a, int n){
        if(a > n) return;
        else{
            System.out.print(a + " ");
            a+=2;
            solution_even(a,n);
        }
    }

}

형성평가2

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if(n%2 == 0) solution_even(2, n);
        else solution_odd(1,n);
    }
    public static void solution_even(int a, int n){
        if(a > n) return;
        else{
            System.out.print(a + " ");
            a+=2;
            solution_even(a,n);
        }

    }
    public static void solution_odd(int a, int n){
        if(a > n) return;
        else{
            System.out.print(a + " ");
            a+=2;
            solution_even(a,n);
        }
    }

}

형성평가3

import java.util.Scanner;
public class Main {
    public static int N, M;
    public static int[] arr = new int[11];

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();
        M = sc.nextInt();
        dice(1, 0);
    }

    public static void dice(int level, int sum){
        if(level > N){
            if(sum == M){
                for(int i = 1; i <=N; i++) System.out.print(arr[i] + " ");
                System.out.println();
            }
            return;
        }
        for(int i = 1; i<=6;i++){
            arr[level] = i;
            dice(level+1, sum+i);
        }
    }

}

형성평가4

import java.util.*;
public class Main {
    static int[] memoarr;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), a = 3;
        memoarr = new int[n+1];
        memoarr[1] = 1;
        memoarr[2] = 2;
        solution(a, n);
        System.out.println(memoarr[n]);
    }
    public static void solution(int a, int n) {
        if(a == n + 1) return;

        if(a > 2){
            memoarr[a] = (memoarr[a-1] * memoarr[a-2]) % 100;
            solution(++a,n);
        }
    }
}

형성평가5

import java.util.Scanner;
public class Main {
    public static int count = 0;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        solution(a);
        System.out.println(count);
    }
    public static void solution(int a){
        if(a == 1) return;
        else{
            if(a%2 == 0){
                solution(a/2);
            }else{
                solution(a/3);
            }
            count++;
        }
    }

}

형성평가6

import java.util.Scanner;
public class Main {
    public static int answer = 1;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int mul = 1, a = sc.nextInt(), b = sc.nextInt(), c = sc.nextInt();
        mul = a*b*c;
        solution(mul);
        System.out.println(answer);
    }
    public static void
    solution(int mul){
        if(mul == 0) return ;
        else{
            answer *= mul%10 != 0 ? mul%10 : 1;
            solution(mul/10);
        }
    }
}
728x90
반응형