// 방법00 - while사용
int a = 1;
int sumz = 0;
while (sumz < 100) {
if (a % 2 == 0) {
sumz -= a;
} else {
sumz += a;
}
a++;
}
System.out.println(a-1);
// 방법01. 홀수일 때 +, 짝수일때 - 하는 방식
System.out.println("======== 방법01 =========");
int sum = 0;
int x = 1;
for(x = 1; sum < 100; x++) {
if(x % 2 == 0) {
sum -= x;
} else {
sum += x;
}
}
System.out.println(x-1);
// x = 199되면 else에 걸리면서 sum이 100이됨. 위로 올라가서 x +1 = 200이되고, sum < 100조건이 false니까 탈출
// ㅇㅋㅇㅋ 이런 알고리즘 때문에 x가 +1돼서 출력된다는걸 생각하고 있어야 함
// 방법02. x-1을 꼭 해야돼?
System.out.println("======== 방법02 =========");
sum = 0;
x = 1;
for(x = 1; ; x++) {
if(x % 2 == 0) {
sum -= x;
} else {
sum += x;
}
if(sum >= 100) {
break;
}
}
System.out.println(x);
// for쪽에 조건식을 비워두고, if로 아에 내가 보기쉬운 조건을 내걸어서 100이되는순간 멈추게해.
// 그니까 x+1도 안하겠지?
// 방법03. 스위칭 변수 이용
System.out.println("======== 방법03 =========");
// Q6. 1+(-2)+3+(-4)+... 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구하시오
int i = -1;
int sum2 = 0;
int b = 0;
for(b = 1; sum2 < 100; b++) {
i = i * -1;
sum2 = sum2 + (b*i);
}
System.out.println(b-1);
'JAVA > Practice Q' 카테고리의 다른 글
Q9. for 문을 이용해서 1부터 1000까지의 합을 구하는 코드를 작성하되, 3의 배수만 더하는 코드를 작성하자 (0) | 2023.09.03 |
---|---|
Q7, Q8 (0) | 2023.09.03 |
Q5. 1부터 200까지의 정수 중에서 2 또는 3의 배수가 아닌 수의 총합을 구하시오 (0) | 2023.09.03 |
Q4. 구구단을 출력을 하되 6단과 7단을 제외하고 출력하자 (0) | 2023.09.03 |
Q1~Q3 (0) | 2023.09.03 |