다각형의 모양으로 배열되는 점의 수를 삼각수, 사각수, 오각수라 한다. 입력받은 숫자가 오각수 인지 여부를 판별하는 프로그램을 작성하시오.
① 삼각수
① N개의 점을 연결하여, 삼각형을 만들 수 있다면, N은 삼각수라 한다.
ㅇ
ㅇ ㅇ N=3, 3은 삼각수이다. 3보다 큰 최소의 삼각수는 6이다.
② 사각수
② N개의 점을 연결하여, 사각형을 만들 수 있다면, N은 사각수라 한다.
ㅇ ㅇ
ㅇ ㅇ N=4, 4는 사각수이다. 4보다 큰 최소의 사각수는 9이다.
③ 오각수
③ N개의 점을 연결하여, 오각형을 만들 수 있다면, N은 오각수라 한다.
N=5, 12, N은 오각수이다.
입력받은 숫자가 오각수인지 아닌지를 판별하는 프로그램을 작성하시오.
#include <stdio.h>
char distinction(int n)
{
int pentagon, mid_n = 0;
for(int i = 2; i < n; i++)
{
for(int j = 1; j < i; j++)
mid_n += j;
pentagon = (i * i) + mid_n; //make pentagon series.
if(n == pentagon) //comparison.
return 'Y';
pentagon, mid_n = 0; //ReInitialize
}
return 'N'; //not find
}
void main(void)
{
int n;
scanf("%d", &n);
char result = distinction(n);
printf("\n%d %c\n\n", n, result);
}
① 삼각수
① N개의 점을 연결하여, 삼각형을 만들 수 있다면, N은 삼각수라 한다.
ㅇ
ㅇ ㅇ N=3, 3은 삼각수이다. 3보다 큰 최소의 삼각수는 6이다.
② 사각수
② N개의 점을 연결하여, 사각형을 만들 수 있다면, N은 사각수라 한다.
ㅇ ㅇ
ㅇ ㅇ N=4, 4는 사각수이다. 4보다 큰 최소의 사각수는 9이다.
③ 오각수
③ N개의 점을 연결하여, 오각형을 만들 수 있다면, N은 오각수라 한다.
입력받은 숫자가 오각수인지 아닌지를 판별하는 프로그램을 작성하시오.
#include <stdio.h>
char distinction(int n)
{
int pentagon, mid_n = 0;
for(int i = 2; i < n; i++)
{
for(int j = 1; j < i; j++)
mid_n += j;
pentagon = (i * i) + mid_n; //make pentagon series.
if(n == pentagon) //comparison.
return 'Y';
pentagon, mid_n = 0; //ReInitialize
}
return 'N'; //not find
}
void main(void)
{
int n;
scanf("%d", &n);
char result = distinction(n);
printf("\n%d %c\n\n", n, result);
}
'프로그래밍' 카테고리의 다른 글
ACM 10110 Light, More Light (0) | 2006.01.13 |
---|---|
ACM 100 3n+1 Problem (2) | 2006.01.10 |
Merge Sorting Algorithm. (0) | 2006.01.10 |
Distribution Counting(분포수 세기) (0) | 2006.01.09 |
Shell Sort Algorithm. (0) | 2006.01.09 |