주사위를 2개 던지면?
1부터 n까지, 1부터 m까지 숫자가 적힌
서로 다른 주사위 2개를 던졌을 때 나올 수 있는 모든 경우를 출력해보자
입력 :주사위 2개의 면의 개수 n, m이 공백을 두고 입력된다.
단, n, m은 10이하의 자연수
출력 :나올 수 있는 주사위의 숫자를 한 세트씩 줄을 바꿔 모두 출력한다.
첫 번째 수는 n, 두 번째 수는 m으로 고정해 출력하도록 한다.
===========================================================================
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b = scan.nextInt();
for(int x = 1; x <= a; x++){
for(int y = 1; y <= b; y++){
System.out.printf("%d% d\n", x, y);
}
}
}
}
===========================================================================
16진수 구구단
16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운
영일(01)이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다.
A, B, C, D, E, F 중 하나가 입력될 때,
1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자.
(단, A ~ F 까지만 입력된다.)
입력 :16진수로 한 자리 수가 입력된다.
단, A ~ F 까지만 입력된다.
출력 : 입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력한다.
계산 결과도 16진수로 출력해야 한다.
===========================================================================
import java.util.Scanner;
import java.util.regex.Pattern;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
boolean flag = Pattern.matches("^[A-Z]*$", a);
if(flag) {
int num = Integer.parseInt(a, 16);
for(int i=1; i<16; i++) {
System.out.format("%X*%X=%X%n",num,i,num*i);
}
}
}
}
===========================================================================
주빛섞어 색 만들기
빨강(red), 초록(green), 파랑(blue) 빛을 섞어
여러 가지 빛의 색을 만들어 내려고 한다.
빨강(r), 초록(g), 파랑(b) 각각의 빛의 개수가 주어질 때,
(빛의 강약에 따라 0 ~ n-1 까지 n가지의 빛 색깔을 만들 수 있다.)
주어진 rgb 빛들을 다르게 섞어 만들 수 있는 모든 경우의 조합(r g b)과
총 가짓 수를 계산해보자.
입력 : 빨녹파(r, g, b) 각 빛의 강약에 따른 가짓수(0 ~ 128))가 공백을 사이에 두고 입력된다.
예를 들어, 3 3 3 은 각 색깔 빛에 대해서 그 강약에 따라 0~2까지 3가지의 색이 있음을 의미한다.
출력 ; 만들 수 있는 rgb 색의 정보를 오름차순(계단을 올라가는 순, 12345... abcde..., 가나다라마...)으로
줄을 바꿔 모두 출력하고, 마지막에 그 개수를 출력한다.
===========================================================================
import java.util.Scanner;
import java.util.regex.Pattern;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
boolean flag = Pattern.matches("^[A-Z]*$", a);
if(flag) {
int num = Integer.parseInt(a, 16);
for(int i=1; i<16; i++) {
System.out.format("%X*%X=%X%n",num,i,num*i);
}
}
}
}
===========================================================================
구구단 출력하기
시작단과 마지막 단을 입력하면
그 구간의 구구단을 출력하는 프로그램을 작성하시오.
입력 : 시작 단과 마지막 단을 입력한다.(정수1~9)
출력 : 예시처럼 구구단을 출력한다.
===========================================================================
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b = scan.nextInt();
for(int i = a; i <= b; i++){
for(int j = 1; j <= 9; j++){
System.out.println(i + "*" + j + "=" + i * j);
}
}
}
}
===========================================================================
CodeUP 중첩반복 2020-04-16 (0) | 2020.04.16 |
---|