되는대로 살자

[C언어 기출문제&풀이] 제곱 수 만들기 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 제곱 수 만들기

malu 2010. 11. 10. 23:30
프로그램 명: make_square(open problem)
제한시간: 1 초

수 n 에 어떤 수 x 를 곱해서 제곱수를 만들고자 한다.

이 x 중 최소의 x 를 구하는 것이 문제이다.

예를 들어 n 이 8 이면 이 수에 2 를 곱하면 제곱수 16 을 만들 수 있다.

입력

n 은 10000 이하의 자연수이다.

출력

입출력 예

입력

8

출력

2
출처: dovelet


소스코드

#include <stdio.h>

int main()
{
 int n,i,j;
 scanf("%d",&n);
 for(i=1;i<n;i++)
 {
  if((i+1)*(i+1)>n&&(i+1)*(i+1)%n==0)
  {
   printf("%d ",(i+1)*(i+1)/n);
   break;
  }
 }
}