일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- IT
- 백도어
- 정보영재원
- For문
- 풀이&소스코드저작권:왕유승
- 리눅스
- 프로그래밍
- 문제출저:www.dovelet.com
- Backdoor
- 독서 감상문
- 수학영재원
- c언어
- 영재교육원
- 정보과학
- if문
- DBMS
- 리눅스 명령어
- 알고리즘
- API
- 자료구조
- 참조은요양병원
- C++
- 제어문
- 정보올림피아드
- 독후감
- 반복문
- 배열
- C
- 다중반복문
- Linux
Archives
- Today
- Total
되는대로 살자
[C언어 기출문제&풀이] 제곱수 판별 본문
프로그램 명: nf
제한시간: 1 초
약수의 개수의 성질에서 알아두면 유용한 것 몇가지
- 소수는 약수의 개수가 두 개 ( 1 과 자기 자신)
- 소수의 제곱은 약수의 개수가 3
- 제곱수는 약수의 개수가 홀수개
12 의 약수
- ( 1 , 12 )
- ( 2 , 6 )
- ( 3 , 4 )
제곱수는 제곱이 되는 수는 자신이 곱해져서 제곱수가 되므로 홀수개가 된다.
16 의 약수
- ( 1 , 16)
- ( 2 , 8 )
- ( 4 , 4 )
문제는 어떤 수를 입력으로 받아 제곱수인지를 판별하는 것이다.
입력
1 에서 10000 사이의 자연수가 입력으로 주어진다.출력
제곱수이면 yes 아니면 no 를 출력한다.입출력 예
입력 4 출력 yes 입력 8 출력 no
출처:dovelet
풀이 : 1부터 증가하는 i변수에 대한 루프를 돌며 i의 제곱수가 주어지는 자연수와 같으면 출력
소스코드
01 |
#include <stdio.h> |
02 |
|
03 |
int main() |
04 |
{ |
05 |
int n,i,j,result=0; |
06 |
scanf ( "%d" ,&n); |
07 |
for (i=1;i<=n;i++) |
08 |
{ |
09 |
if (i*i==n) |
10 |
result=1; |
11 |
} |
12 |
if (result) printf ( "yes" ); |
13 |
else printf ( "no" ); |
14 |
} |
'2009~2014 > C/C++' 카테고리의 다른 글
[C언어 기출문제&풀이] 약수 구하기 (0) | 2010.11.02 |
---|---|
[C언어 기출문제&풀이] 소수 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 약수의 갯수, 총합 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 약수의 갯수 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 생일 파이 (0) | 2010.11.02 |