展开全部
含因子2,3,5的正整数被称作丑数 不含7 1不是丑数。判断方法
首先除2,直到不能32313133353236313431303231363533e4b893e5b19e31333365643464整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字是否为1,如果是1则为丑数,否则不是丑数。
你的题目是不是输入n个整数,输出所有丑数。
#include
int iscn(int num);
#define maxSize 10//输入的最大数字个数 可修改
int main()
{
int cnum[maxSize],num,i,j=0;
printf("输入最多%d个正整数(不足%d个,可以输入负数结束输入):\n",maxSize,maxSize);
for(i=0;i
{
scanf("%d",&num);
if(num<0)
break;
if(iscn(num))
cnum[j++]=num;
}
printf("其中所有丑数为:\n");
for(i=0;i
printf("%d ",cnum[i]);
return 0;
}
int iscn(int num)//检查整数是否为丑数 是返回1 不是返回0
{
int chu;
chu=num;
if(num==1)
return 0;
while(1)
{
if(chu%2==0)
chu=chu/2;
else
break;
}
while(1)
{
if(chu%5==0)
chu=chu/5;
else
break;
}
while(1)
{
if(chu%3==0)
chu=chu/3;
else
break;
}
if(chu==1)
return 1;
else
return 0;
}