int num;
int sum=0;
for(num=1; sum<100; num++){
if(num%2==0){
sum+=(-num);
}else{
sum+=num;
}
}
System.out.println("for 1개 if..else 1개 사용");
System.out.println("1+(-2)+3+(-4)+5+...+ 의 총 합이 100이상일 때 해당하는 숫자는?");
System.out.println("총합 '" + sum + "' 일 때 해당하는 수는 '" + num+ "'");
출력결과
for 1개 if..else 1개 사용
1+(-2)+3+(-4)+5+...+ 의 총 합이 100이상일 때 해당하는 숫자는?
총합 '100' 일 때 해당하는 수는 '200'
exit_for:
for(sum = 0, num=1; ; num++){
if(sum>=100)
break exit_for;
if(num%2==0){
sum+=(-num);
}else{
sum+=num;
}
}
System.out.println("for / if / break 사용,");
System.out.println("1+(-2)+3+(-4)+5+...+ 의 총 합이 100이상일 때 해당하는 숫자는?");
System.out.println("총합 '" + sum + "' 일 때 해당하는 수는 '" + num+ "'");
출력결과
for / if / break 사용,
1+(-2)+3+(-4)+5+...+ 의 총 합이 100이상일 때 해당하는 숫자는?
총합 '100' 일 때 해당하는 수는 '200'
for(int i=1; true; i++, s=-s){ // 1 -1 1 -1 1 -1
num=s*i; //부호결정
sum += num;
if(sum>=100){
break;
}
}
for(int i = 1; sum<100; i++, s=-s){
num=s*i; //부호변경
sum += num; //값저장
}
출력결과
sum : 100
num : 199
어떻게 푸냐에 따라 결과값이 달라질 수 있다.
댓글 없음:
댓글 쓰기