1到100的数的分解

这里写图片描述

#include<stdio.h>
int am(int a)
{int i,b=0;
for(i=2;i<a;i++)
if(a%i==0)
{b=1;goto end;}
end:return b;}/*判断a是否为素数*/
void main()
{int i,j,a,b[30],n,z=0,l=0,y;
printf("对一到一百进行分解:\n素数:\n");
for(i=1;i<=100;i++)
{y=am(i);
if(y==0)
{printf("%d=%d*1   ",i,i);z++;}
if(z==4)
{z=0;printf("\n");}
} /*素数分解输出*/
printf("\n非素数:\n");
for(i=1;i<=100;i++)
{ y=am(i);
if(y==0)
continue;
a=i;n=0;
while(a!=1)
{j=2;
    while(a%j!=0)
    j++;
    b[n++]=j;/*非素数的因数存到数组b中*/
    a=a/j;}
n--;
for(z=0;z<=n;z++)
{if(z==0)
printf("%d=%d",i,b[z]);
if(z<n&&z!=0)
printf("*%d",b[z]);
if(z==n)
printf("*%d   ",b[z]);}
l++;
if(l%4==0)
printf("\n");}/*非素数以形式输出*/
}




这里写代码片

猜你喜欢

转载自blog.csdn.net/feiqipengcheng/article/details/82010751
今日推荐