import java.util.Scanner;
public class 과제0628 {
public static void main(String[] args) {
//과제1] 1~100 사이의 소수를 구하여 출력하세요.
//소수 : prime number 1과 자기자신의 수로만 나누어 떨어지는 수.
int i, j, count; //i는 목, j는 나눌 값
for(i=1;i<=100;i++) {
count=0;
for(j=2;j<i;j++)
if(i%j == 0)
count+=1;
if(count==0)
System.out.println(i + "는 소수입니다.");
}
//과제2] 국어, 영어 점수를 입력받아서 처리하되, 0점이상 100점 이하로 성적이 입력되도록 하여 합계와 평균을 구합니다.
int kor=0, eng=0, sum = 0;
float avg=0;
Scanner sc = new Scanner(System.in);
System.out.println("국어 점수를 입력하세요.");
while(true) {
kor = sc.nextInt();
if(kor<0 || kor>100)
System.out.println("잘못된 점수를 입력하셨습니다. 다시 입력해주세요.");
else
break;
}
System.out.println("영어 점수를 입력하세요.");
while(true) {
eng = sc.nextInt();
if(eng<0 || eng>100)
System.out.println("잘못된 점수를 입력하셨습니다. 다시 입력해주세요.");
else
break;
}
sum = kor + eng;
avg = (kor + eng) / 2;
System.out.println("합계는 " + sum + "점, 평균은 " + avg +" 점입니다.");
//과제3] 컴퓨터와 숫자 맞추기 게임을 합니다.
// 하나의 난수는 컴퓨터가 발생하여 저장하고, 그 숫자를 사람이 맞추어가는 형태로 진행합니다.
// 카운트하여 몇번만에 맞추었는지도 출력하고
// 게임을 계속 진행하려면 yes(1), 그만 두려면 no(2)를 입력합니다.
Scanner sc = new Scanner(System.in);
System.out.println("컴퓨터와 숫자 맞추기 게임을 시작합니다. 최대 숫자를 입력해주세요");
int max = sc.nextInt();
while(true) {
int a = (int)(Math.random()*max); //
int x = a;
int i = 0;
while(true) {
System.out.println("알아맞춰보세요.");
int y = sc.nextInt();
i++;
if(x < y) {
System.out.println("입력하신 값보다 작습니다.");
continue;
}else if(x > y) {
System.out.println("입력하신 값보다 큽니다.");
continue;
}else if(x == y) {
System.out.println("정답입니다." + i + "번 만에 맞추셨군요!");
break;
}
}
while(true) {
System.out.println("게임을 계속 진행하려면 yes, 그만 두려면 no를 입력합니다.");
String z = sc.next();
if(z.equals("yes")) {
System.out.println("게임을 다시 시작합니다.");
break;
} else if(z.equals("no")) {
System.out.println("프로그램을 종료합니다.");
System.exit(0);
} else {
System.out.println("잘못입력하셨습니다.");
continue;
}
}
}
//과제4] 피보나치 수열을 작성하고, n번째 항까지의 합을 구하여 출력하세요.(n은 입력받거나, 직접 정해라)
//피보나치 수열 : 1, 1, 2, 3, 5, 8, 13, 21 ....(n번째 항은 (n-2)번째항, (n-1)번째 항의 합)
int num1 = 1;
int num2 = 1;
int num3 = 0;
Scanner sc = new Scanner(System.in);
System.out.println("피보나치 수열을 시작합니다. 계산하고자 하는 최대 항을 입력해주세요");
int pibo = sc.nextInt();
int i;
for(i=1;i<=pibo;i++) {
num3 = num1 + num2;
num1=num2;
num2=num3;
}
System.out.print(num3);
//과제5] 다음식을 만족하는 모든 A와 B를 구하는(출력하는) 프로그램을 작성하세요.(숫자를 입력받아서?, 반복문)
// AB 예> 63 72 54
// +BA 36 27 45
// ---- ---- ---- ----
// 99 99 99 99....
for (int A = 0; A < 10; A++)
{
for(int B = 0; B < 10; B++)
{
if((10*A+B)+(10*B+A)==99)
System.out.println((10*A+B)+" + " + (10*B+A) + " = " + 99);
}
}
}
}