3个回答
2013-12-07
展开全部
222222=2*3*7*11*13*37,所以一共有(1+1)(1+1)(1+1)(1+1)(1+1)(1+1)=64个
333333=3*3*7*11*13*37=3²*7*11*13*37,
所以一共有(2+1)(1+1)(1+1)(1+1)(1+1)=48个
555555=3*5*7*11*13*37,所以一共有(1+1)(1+1)(1+1)(1+1)(1+1)(1+1)=64个
777777=3*7*7*11*13*37=3*7²*11*13*37,所以一共有(1+1)(2+1)(1+1)(1+1)(1+1)=48个
333333=3*3*7*11*13*37=3²*7*11*13*37,
所以一共有(2+1)(1+1)(1+1)(1+1)(1+1)=48个
555555=3*5*7*11*13*37,所以一共有(1+1)(1+1)(1+1)(1+1)(1+1)(1+1)=64个
777777=3*7*7*11*13*37=3*7²*11*13*37,所以一共有(1+1)(2+1)(1+1)(1+1)(1+1)=48个
展开全部
建议写个程序,笔算太慢了!你可以参照下面的写个吧,亲~
#include<stdio.h>
typedef struct{
int data;
int flag;
}lig;
int zhishu(lig a[])//保存1000以内所有的质数
{
int i,j,k=0;
for(i=2;i<=1000;i++)
{
for(j=2;j*j<i;j++)
{
if(i%j==0)
{
break;
}
}
if(j*j>i)
{
a[k].data=i;
a[k].flag=0;
//printf("%d %d %d\n",k,a[k].data,a[k].flag);
k++;
}
}
return(k);
}
int main()
{
int i,j,num,temp,len;
lig a[250];
len=zhishu(a);
printf("输入一个(2~1000)的整数,以0结束:");
while(EOF!=(scanf("%d",&num))&&num!=0)
{
for(i=0;i<len;i++)
{
a[i].flag=0;
}
i=0;
j=0;
temp=0;
printf("%d的质因子分解式是:",num);
while(num!=1)
{
while(num%a[i].data==0)
{
a[i].flag++; //统计质因子的幂
num=num/a[i].data;
}
i++;
}
while(j<i) //打印输出质因子分解式
{
if(a[j].flag!=0)
{
if(temp==1)//控制格式
{
printf(" * ");
}
printf("%d^%d",a[j].data,a[j].flag);
temp=1;
}
j++;
}
printf("\n\n");
printf("输入一个(2~1000)的整数,以0结束:");
}
return(0);
}
#include<stdio.h>
typedef struct{
int data;
int flag;
}lig;
int zhishu(lig a[])//保存1000以内所有的质数
{
int i,j,k=0;
for(i=2;i<=1000;i++)
{
for(j=2;j*j<i;j++)
{
if(i%j==0)
{
break;
}
}
if(j*j>i)
{
a[k].data=i;
a[k].flag=0;
//printf("%d %d %d\n",k,a[k].data,a[k].flag);
k++;
}
}
return(k);
}
int main()
{
int i,j,num,temp,len;
lig a[250];
len=zhishu(a);
printf("输入一个(2~1000)的整数,以0结束:");
while(EOF!=(scanf("%d",&num))&&num!=0)
{
for(i=0;i<len;i++)
{
a[i].flag=0;
}
i=0;
j=0;
temp=0;
printf("%d的质因子分解式是:",num);
while(num!=1)
{
while(num%a[i].data==0)
{
a[i].flag++; //统计质因子的幂
num=num/a[i].data;
}
i++;
}
while(j<i) //打印输出质因子分解式
{
if(a[j].flag!=0)
{
if(temp==1)//控制格式
{
printf(" * ");
}
printf("%d^%d",a[j].data,a[j].flag);
temp=1;
}
j++;
}
printf("\n\n");
printf("输入一个(2~1000)的整数,以0结束:");
}
return(0);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2,3,37,7,13,11
3,3,37,7,13,11
类推。就第一个是本数。
3,3,37,7,13,11
类推。就第一个是本数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询