ugly-程序

/*300 N 2 3 5 1 2 4 6. 因子只有2或3或5的数称为丑数*/
#include<stdio.h>
void put_uglyNumber(int N)
{
    int i,a;
    i = 0;
    a = 0;
    int number;
    number = 0;
    while(1)
    {   
        a++;
        i = a;
    //  printf("i = %d\n",i);
        while(i > 1)
        {   
    
            if((i%2)==0)
                i = i/2;
            else if ((i%3) == 0)
                i = i/3;
            else if((i%5) == 0)
                i = i/5;
            else
            break;
        }   
    //  printf("after the inner while i = %d\n",i);
        if(i == 1)//能够整除
        {   
            printf("a = %d\n",a);
            number++;
        }   
     if(number == N)
        {   
            printf("N= %d, a= %d\n",N,a);
            break;
        }
    }
}

    void main()
{
    int input_number;
    printf("please input the number\n");
    scanf("%d",&input_number);
    printf("after input the number,input_number = %d\n",input_number);
    put_uglyNumber(input_number);
}

 

posted @ 2015-05-13 20:00  general001  阅读(85)  评论(0)    收藏  举报