U E D R , A S I H C RSS

Ugly Numbers/김회영

소스 코드

~cpp 
#include<iostream> 
using namespace std; 
 
bool check(long number); 
 
void main() 
{ 
         
        long number=1;//1부터 시작하므로.. 
        int situation; 
        cout<<"몇번째 심술생이 수를 입력할까요.?";       
        cin>>situation; 
         
        int count=1; 
        cout<<1<<":"<<1<<endl; 
        while(count!=situation)//2번째 수까지  
        {        
                number++; 
                if(check(number)==true) 
                { 
                        count++; 
                        cout<<count<<":"<<number<<endl; 
                }        
        } 
         
        cout<<"The "<<situation<<"번째 심술쟁이수는 "<<number; 
        cout<<endl; 
} 
 
//1500th : 859963392 
 
bool check(long number)//심술쟁이 수인지를 판별합니다. 
{ 
        //더 빠른 코드를 위해서????? 
         
        while(true) 
        {        
                if(number==1) 
                        return true; 
                 
                else if(number%2==0) 
                        number=number/2; 
                 
                else if(number%3==0) 
                        number=number/3; 
                 
                else if(number%5==0) 
                        number=number/5; 
                 
                else //2,3,5어느 걸로도 나누어 지지 않으므로. 
                        return false; 
                 
        } 
        return true; 
         
} 
 


쓰레드

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0940 sec