[Java] 2_6_2_반복문 예제

나영원·2020년 8월 30일
0

Java_basic2

목록 보기
9/37
public class Fibonacci {
    /**
     * 피보나치 수열
     *
     * 피보나치 수열을 출력하는 프로그램을 작성하시오.
     *
     * 피보나치 수열의 점화식 : f(n) = f(n-1) + f(n-2)
     *                        f(1) = 0, f(2) = 1
     *
     * 0, 1, 1, 2, 3, 5, 8, ...
     *
     * 인자
     * seqLength: 출력하고자 하는 피보나치 수열의 길이
     */

    public static void main(String[] args) {

        int seqLength = 100;

        double previousNum = 0;
        double nextNum = 1;


        for(int i = 0 ; i < seqLength; i++) {

            System.out.printf("1.%.0f\n",previousNum);

            double sum = previousNum + nextNum;
            previousNum = nextNum;
            nextNum = sum;

        }
    }
}
 

 

/**
     * 369게임+
     * <p>
     * 369게임에 참여했을 때, 내가 외쳐야 하는 숫자나 동작을 순서대로 출력하시오.
     * <p>
     * 규칙
     * 1. 3, 6, 9, 5가 포함 되지 않은 숫자는 숫자를 외친다. (2!)
     * 2. 숫자에 포함된 3, 6, 9의 개수 만큼 박수를 친다. (짝!)
     * 3. 숫자에 포함된 5의 개수 만큼 발을 구른다. (쿵!)
     * 4. 박수와 발구르기의 순서는 관계 없으나, 반드시 번갈아 수행한다.
     * <p>
     * 예시
     * 2   -> 2!
     * 33  -> 짝!짝!
     * 553 -> 쿵!짝!쿵! (짝!쿵!쿵!x)
     * 47  -> 47!
     * <p>
     * 인자
     * gameLength: 게임이 종료되는 데 걸리는 턴 수
     * numPeople: 게임에 참여하는 인원 수
     * myTurn: 내가 숫자를 외치는 순번
     */

    public static void main(String[] args) {

        int gameLength = 1000;
        int numPeople = 12;
        int myTurn = 3;

        for(int i = myTurn ; i < numPeople; i+=numPeople){

            int numClap = 0;
            int numFoot = 0;


            int intVal = i;

            while(intVal >0 ){
               int currentVal = intVal % 10;

               if (currentVal == 3 || currentVal ==6 || currentVal==9 ){
                   numClap++;
               }else if (currentVal == 5){
                   numFoot++;
               }
               intVal /= 10;
            }

            if(numClap + numFoot == 0){
                System.out.println(i);
            } else {
                if(numClap>numFoot){
                    while(numClap>0||numFoot>0){
                        if (numClap>0){
                            System.out.println("짝!");
                            numClap--;
                        }
                        if (numFoot>0){
                            System.out.println("쿵!");
                            numFoot--;
                        }
                }

                } else {
                    while(numClap>0||numFoot>0){
                        if (numFoot>0){
                            System.out.println("쿵!");
                            numFoot--;
                        }
                        if (numClap>0){
                            System.out.println("짝!");
                            numClap--;
                        }
                    }

                    }
                System.out.println("");
            }


        }
     ```
profile
배우는 개발 일기

0개의 댓글