자격증/정보처리기사 실기 - 기출문제

[정보처리기사 실기] 2022년 1회 17 - 프로그래밍 [C]

쏠솔랄라 2025. 7. 21. 22:44

 

 

 

17 다음 C 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

#include <stdio.h>
int isPrime(int number) {
	for(int i=2; i<nuber; i++)
		if(number%i==0) return 0;
	return 1;
}

int main() {
	int number = 13195;
	int max_div = 0;
	for(int i=2; i<number; i++)
		if(isPrime(i)==1 && number%i==0) max_div=i;
	printf("%d", max_div); 
}

 

 

 

 

 

 

해설

코드 실행순서 및 해석
1 #include <stdio.h>    
2 int isPrime(int number) {    
3 for(int i=2; i<nuber; i++)    
4 if(number%i==0) return 0;    
5 return 1;    
6 }    
7 int main() {    
8 int number = 13195;    
9 int max_div = 0;    
10 for(int i=2; i<number; i++)    
11 if(isPrime(i)==1 && number%i==0) max_div=i;   isPrime(i)==1 은 소수임을 묻는 식
number%i는 약수를 저장함
→ 소수이자 number의 약수가 저장되는 것

→ 13195의 소수는 5*7*13*29로
최종적으로 max_div에는 29가 저장됨
12 printf("%d", max_div);    
13 }