~cpp
#include <stdio.h>
int unum(int num); // 심술쟁이수인지 검사한다
void main()
{
int i,j; // 카운터
int uarr[2000] = {0,}; // 심술쟁이 수들의 배열
int ind; // 알고 싶은 인덱스
uarr[0] = 1;
scanf("%d", &ind); // 알고 싶은 심술쟁이 수를 얻는다
for ( i=1,j=1;j<=(ind-1);i++ ) {
if ( !unum(i) ) {
uarr[j++] = i;
}
}
printf("%d 번째 수는 %d이다\n",ind,uarr[ind-1]);
}
int unum(int num)
{
if ( num==3 || num==2 || num==5 )
return 0;
if ( num%2==0 )
return unum(num/2);
else if ( num%3==0 )
return unum(num/3);
else if ( num%5==0 )
return unum(num/5);
else
return 1;
}
딱 3분 걸린다. 경고음 붙여서 라면 먹을때 이용하면 좋겠다.