100미만의 연속된 두 자리수의 짝수 3개를 곱해 나오는
4로 시작해서 2로 끝나는 6자리 숫자를 구하고 연속된 두 자리수의 짝수 3개를 구해야한다.
< 직접 짠 코드 >
#include<stdio.h>
void main() {
int i, res = 1;
for (i = 10; i < 100; i++) {
if (i % 2 == 0) {
res = i * (i + 2) * (i + 4);
if ((res / 100000 == 4) && (res % 10 == 2)) {
printf("%d * %d * %d\n", i, (i + 2), (i + 4));
printf("결과 : %d", res);
}
}
}
}
먼저 두 자리수의 시작인 10부터 99까지 반복하는 for문을 만들고
짝수를 골라내는 if문을 만들고 전체 6자리 숫자를 나타낼 res변수에 연속된 두 자리수의 짝수 3개를 곱한 값을 넣는다.
또 res의 10만자리 수가 4이고, res의 1의자리 수가 2일 때 결과를 출력하는 if문을 만들었다.
res를 100000으로 나눈 몫은 res의 10만자리 수가 되고
res를 10으로 나눈 나머지는 res의 1의자리 수가 된다.
< 선생님 코드 >
#include<stdio.h>
void main() {
int i, res = 1;
for (i = 10; i < 100; i += 2) {
res = i * (i + 2) * (i + 4);
if ((res / 100000 == 4) && (res % 10 == 2)) {
printf("%d * %d * %d\n", i, (i + 2), (i + 4));
printf("결과 : %d", res);
}
}
}
제가 짠 코드와 선생님의 코드의 다른 점은 if문의 개수입니다.
선생님은 i의 증감식을 2씩 증가하게 해
짝수를 골라내는 if문을 대신하였습니다.
짝수나 홀수를 골라낼 때 증감식을 이용하면 된다는 것을 배우게 된 것 같습니당
오늘의 포스팅은 여기까지입니다.
감사합니다 :)
'코딩테스트 회고록 > 코테_C언어' 카테고리의 다른 글
[C언어] while문을 이용해 -1, 3, -5, 7, -9 ... 99 를 출력하는 프로그램 (0) | 2022.10.25 |
---|