자바 코딩

반복문3

akasha.park 2023. 3. 10. 12:43
Quiz11>  자연수 n을 입력받아 "출력 예"와 같이 n x n크기에 공백으로 구분하여 출력되는 프로그램을 작성하시오.
10 미만의 홀수만 출력하시오.
입력 예) 3
출력 예)    
1 3 5
7 9 1
3 5 7

package lab.java.basic;

import java.util.Scanner;

public class Quiz11 {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		System.out.print("정수를 입력하세요 :");
		int n= input.nextInt();
		int odd=1;
		for (int i =0;i<n;i++) {
			for (int j =0;j<n;j++) {
				if (odd>10) 
					odd=1 ;
				System.out.print(odd+" ");				
				odd+=2;				
			}
			System.out.println( );
		}		 
	}
}


Quiz12> 자연수 n을 입력받아 "출력 예"와 같이 공백으로 구분하여 출력되는 프로그램을 작성하시오.
입력 예) 3
출력 예) 
#
# #
# # #
   # #
      #

package lab.java.basic;

import java.util.Scanner;

public class Quiz13 {

public static void main(String[] args) {

Scanner input =new Scanner(System.in);

System.out.print("정수를 입력하세요 :");

int n= input.nextInt();

 

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

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

System.out.print( "# ");

}

System.out.println( );

}

for (int i=n-1;i>0;i--) {

for (int j =0;j<3-i;j++) {

System.out.print( " ")

;

}

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

System.out.print( "# ")

;

}

System.out.println( );

}

 

}

}

Quiz16>
같은 숫자가 나올 때까지 주사위 6개를 동시에 무한 반복해서 던진다.
같은 숫자가 나올 때까지 몇 번 던졌는지, 1부터 6까지 연속된 숫자는 몇 번 나왔는지 출력하는  프로그램 코드를 작성하시오
[Sample Run]  
6개 주사위가 모두 동일한 숫자가 나옴 --> 2 2 2 2 2 2
6개가 동일한 숫자가 나올 때까지 주사위를 던진 횟수 --> 10652
6개가  동일한 숫자가 나올 때까지 1 ~6의 연속번호가 나온 횟수 --> 172
package lab.java.basic;

import java.util.Random;

public class Quiz16 {
	public static void main(String[] args) {
		int count=0, sequence=0;
		Random r = new Random();
		int dice1=0, dice2=0, dice3=0, dice4=0, dice5=0, dice6=0;
		for(;;) {
			count++;
			dice1 = r.nextInt(6)+1;
			dice2 = r.nextInt(6)+1;
			dice3 = r.nextInt(6)+1;
			dice4 = r.nextInt(6)+1;
			dice5 = r.nextInt(6)+1;
			dice6 = r.nextInt(6)+1;
			if(dice1==dice2 && dice2==dice3 && dice4==dice5 && dice3==dice4 && dice5==dice6) {
				System.out.println("6개 주사위가 모두 동일한 숫자가 나옴 -->"+dice1 +" "+dice2 +" "+dice3 +" "+dice4 +" "+dice5 +" "+dice6 +" ");
				break;
			}else if(dice1!=dice2 && dice1!=dice3 && dice1!=dice5 && dice1!=dice4 && dice1!=dice6
					&&dice2!=dice3 && dice2!=dice5 && dice2!=dice4 && dice2!=dice6 && dice5!=dice6
					&& dice3!=dice4 && dice3!=dice5 && dice3!=dice6 && dice4!=dice5 && dice6!=dice4 ) {
				sequence++;
			}
		}//for end
		System.out.println("6개가 동일한 숫자가 나올 때까지 주사위를 던진 횟수 -->"+count);
		System.out.println("6개가  동일한 숫자가 나올 때까지 1 ~6의 연속번호가 나온 횟수 -->"+sequence);	
	}
}
Quiz7> 10 ~ 99 사이의 정수중에서  고집수가 4이상 되는 수들과 개수를 출력
고집수:
10 ~ 99까지 두 자리 수의 각 자리수를 분할하여 곱합니다.
- 그 곱한 수를 마찬가지로 분할하여 다시 곱해주고 이 과정을 반복해서 1의 자리수로 만듭니다.
- 이렇게 곱해 나가는 반복 '횟수'를 고집수라고 합니다.
ex) 77 -> 49 -> 36 -> 18 ->8 (고집수, 반복횟수 4회), 96 -> 54 -> 20 -> 0 (고집수 아님, 반복횟수 3회)
package lab.java.basic;

public class Quiz7 {
	/* 고집수가 4이상되는 수들만 출력 */
	public static void main(String[] args) {
		int total = 0;
		for (int i = 10; i < 100; i++) {
			int k = i;
			int count = 0;
			while (k > 9) {
				k = k / 10 * (k % 10);
				count++;
			}

			if (count >= 4) {
				System.out.println("정수 " + i + "는 고집수 " + count + "입니다");
				total++;
			}
		}//for end
		System.out.println("10~99사이의 고집수 4이상의 총 갯수는 " + total + "입니다.");
	}//main end
} // class end
댓글수0