BOJ 17087 숨바꼭질 6

pa324·2019년 10월 21일
0

문제

풀이

  • 수빈이가 2에 있고, 동생이 26에 있다면 D = 1인 경우에 동생을 찾을 수 있다.
  • D = 2인경우에도 동생을 찾을 수 있다.
  • 동생과 수빈이의 거리차이가 24이기 때문에 24의 약수들은 모두 동생을 찾을 수 있다.

코드

#include<stdio.h>
int gcd(int a,int b) {
	if( b == 0) return a;
	else {
		return gcd(b,a%b);
	} 
}
int main() {
	int n,m;
	int a[10000];
	scanf("%d %d",&n,&m);
	
	for(int i = 0; i < n; i++) {
		int x;
		scanf("%d",&x);
		int diff = x - m;
		if(diff < 0) diff = -diff;
		a[i] = diff;
	}
	int ans = a[0];
	for(int i = 1; i < n; i++) {

		ans = gcd(ans,a[i]);
	}
	printf("%d\n",ans);
	return 0;
	
}
profile
안녕하세요

0개의 댓글