c语言作业 分解质因数,分解质因数(C语言)

题目描述

求出区间[a,b]中所有整数的质因数分解

提示

先筛出所有素数,然后再分解。

数据规模和约定

2< =a< =b< =10000

输入

输入两个整数a,b。

输出

每行输出一个数的分解,形如k=a1a2a3…(a1< =a2< =a3…,k也是从小到大的)(具体可看样例)

输入样例

3 10

输出样例

3=3

4=2 ∗\ast∗ 2

5=5

6=2 ∗\ast∗ 3

7=7

8=2 ∗\ast∗ 2 ∗\ast∗ 2

9=3 ∗\ast∗ 3

10=2 ∗\ast∗ 5

代码实现

#include

int prime(int num) //判断素数

{

int i;

for(i=2;i*i<=num;i++)

{

if(num%i==0)

break;

}

if(i*i>num)

return 1;

return 0;

}

int main()

{

int m,n;

int i,j,t;

int sum=1,p;

scanf("%d%d",&m,&n);

for(i=m;i<=n;i++)

{

if(prime(i)==1) //是素数

{

printf("%d=%d",i,i);

}

else //不是素数

{

printf("%d=",i);

t=i;

for(j=2;j<=t;j++)

{

if(t%j==0)

{

sum=sum*j;

t=t/j;

p=j;

j=1;

if(t==j) //当还剩最后一个因子是,后面是没有*号的

printf("%d",p);

else

printf("%d*",p); //输出因数*

}

}

}

printf("\n");

}

return 0;

}

标签:10,return,ast,int,样例,C语言,分解,质因数

来源: https://blog.csdn.net/matchless_QYW/article/details/104836170

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值