解题思路:先上万能库<bits/stdc++.h>。然后判断是否为素数,再寻找因数。
参考代码:

#include<bits/stdc++.h>
using namespace std;
bool zhishu(int k)
{
	if(k<=2)	return false;
	else
	{
		for(int i=2;i*i<=k;i++)
		{
			if(k%i==0)	return false;
		}
	}
	return true;	//传入数值为素数时为真。 
}
void fenjie(int k)
{
	if(zhishu(k))	cout<<k<<"="<<k;
	else
	{
		cout<<k<<"=";
		for(int i=2;i<=k;i++)
		{
			if(k%i==0)
			{
				cout<<i;
				k/=i;
				if(k!=1)
				cout<<"*";
				else break;
				i--;	//如果i为因数,则i不进行自增。(8=2*2*2) 
			}
		}
	}
}
int main()
{
	int a,b;	cin>>a>>b;
	for(int i=a;i<=b;i++)
	{
	fenjie(i);
	cout<<endl;
	}
	return 0;
}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论