본문 바로가기

c언어 알고리즘 및 코드

c언어- 올림피아드 2018 복면산 문제 알고리즘

한 자리 양의 정수 A,B,C,D가 다음 계산식을 만족할 때, A+B+C+D의 값을 구하여라.

출처: 2018 중등부 올림피아드

a,b,c,d의 범위는 1~9까지로 정한다. 0을 포함하지 않는 이유는 0은 양의 정수가 아니기 때문이다.

a,b,c,d의 값을 찾기 위해 for문을 사용하여 작성을 해준다.

그리고 자리수는 어떤 알파벳*자리수(ex. 10의 자리수 b=b*10)으로 지정을 해준다. 

문자와 숫자간의 곱을 기호를 생략해서 작성하면 컴퓨터 프로그램이 알아 듣지 못하는 문제가 발생할 수 있음을 주의할 필요 있다.

 

#include <stdio.h>
int main(){
for(int a=1; a<10; a++){
	for(int b=1; b<10; b++){
		for(int c=1; c<10; c++){
			for(int d=1; d<10; d++){
				if((100*a+10*b+c)*(10*b+c)==d*1000+a*100+b*10+c){
					printf("%d %d %d %d %d",a+b+c+d,a,b,c,d);
					}
				}
			}
		}
	}
}

'c언어 알고리즘 및 코드' 카테고리의 다른 글

C언어 1~100까지 출력하기  (0) 2021.06.15
UBD 변환기  (1) 2021.01.06
중복 없는 로또 추첨 알고리즘  (0) 2020.11.08
send+more=money  (0) 2020.10.20
C언어- y=ax+b 코드  (4) 2020.10.18