주사위 2개를 던졌을때
2의 배수이면 길동이가 5000원 받고
3의 배수이면 철수가 10000원을 받고
4의 배수이면 영희가 15000원을 받고
셋다 아니면 각 5000원씩 벌금을 낸다.
주사위를 모두 던졌을때 나오는 경우의 수는 ??
package ch02;
public class dice6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum1 = 0;
int sum2 = 0;
int sum3 = 0;
int sum4 = 0;
for (int a = 1; a <= 6; a++) {
for (int b = 1; b <= 6; b++) {
if ((a + b) % 3 == 0) {
sum1++;
}
if ((a + b) % 4 == 0) {
sum2++;
}
if ((a + b) % 2 == 0) {
sum3++;
}
if (((a + b) % 3 != 0) && ((a + b) % 4 != 0) && ((a + b) % 2 != 0)) {
sum4++;
}
}
}
int ceolsu = sum1 * 10000;
int yeonghee = sum2 * 15000;
int gilldong = sum3 * 5000;
int beol = sum4 * 5000;//벌금
System.out.printf("3의 배수인 경우: %d 4의배수인경우: %d 2의배수인경우%d
셋다아닌경우:%d\n ", sum1, sum2, sum3, sum4);
System.out.printf("철수가 내야하는 돈: %d
영희가 내야하는돈 : %d
길동이가 내야하는돈 : %d\n ",
(ceolsu - beol), (yeonghee - beol),(gilldong - beol));
}
}
package ch02;
public class dice6_method {
public static void main(String[] args) {
int gildong = dice(2);
int ceolsu = dice(3);
int yeonghee = dice(4);
int beol = 0;//벌금
System.out.printf("철수가: %d 영희: %d 길동 : %d\n ", ceolsu, yeonghee, gildong);
for (int a = 1; a <= 6; a++) {
for (int b = 1; b <= 6; b++) {
if (((a + b) % 3 != 0) && ((a + b) % 4 != 0) && ((a + b) % 2 != 0)) {
beol++;
}
}
}
System.out.printf("철수가 내야하는 돈: %d
영희가 내야하는돈 : %d
길동가 내야하는돈 : %d\n ",
((ceolsu * 10000) - (beol * 5000)),
((yeonghee * 15000) - (beol * 5000)),
((gildong * 5000) - (beol * 5000)));
}
private static int dice(int n) {
int sum = 0;
for (int a = 1; a <= 6; a++) {
for (int b = 1; b <= 6; b++) {
if ((a + b) % n == 0) {
sum++;
}
}
}
return sum;
}
}