[백준 BOJ] 1075번 나누기 (C언어)

2022. 1. 5. 18:21PS (Program Solving)/BOJ (백준)

문제 설명

https://www.acmicpc.net/problem/1075

 

1075번: 나누기

첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다.

www.acmicpc.net

백준 BOJ 1075번 나누기 문제 사진
백준 BOJ 1075번 나누기 문제 사진2

 

접근 방법 - 간단한 수학적 사고 문제

백준의 1075번 문제는 단순 수학적 사고력을 요구하는 문제인 것으로 보인다.

필자는 아래의 순서대로 연산을 진행하며 코드를 작성하였다.

 

코드의 실행 순서

1) 각 자연수 2개 입력받기 (n: 피제수 역할 / f: 제수 역할)

 

2) n에 나머지 연산자를 수행하여 십의 자릿수와 일의 자릿수를 0으로 정리한다.

 

3) 임의로 변수를 2개 만든 뒤, 이중 반복문과 적절한 사칙연산을 통해 n의 십의 자릿수, 일의 자릿수를 조정하여 새로운 피제수 num을 만든다.

(a1: n의 십의 자릿수 담당 / a2: n의 일의 자릿수 담당)

 

4) num이 f에 나누어 떨어질 때, a1과 a2를 공백 없이 차례로 출력한 뒤 즉시 실행을 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>

//백준 1075번 코드
int main() {
	int n, f;
	scanf("%d %d", &n, &f);

	n -= n % 100; //뒤의 두 자릿수 00으로 정리

	int a1, a2;
	for (a1 = 0; a1 < 10; a1++) {
		for (a2 = 0; a2 < 10; a2++) {
			int num = n + a1 * 10 + a2;
			if (num % f == 0) {
				printf("%d%d", a1, a2);
				return 0;
			}
		}
	}
}

 

제출 결과

백준 BOJ 1075번 나누기 문제 C 제출 결과

(2021.12.05 백준 1075번 제출 결과)

반응형