解题思路:        由题目我们可知:是素数就以i=i的形式输出,不是就要以质因数分解的形式输出。

                       例:7是素数:7=7

                              64不是素数:64=2*2*2*2*2

                       所以,我们最好先打出一个函数判断是否是 素数 

                       然后再搞定 以质因数分解  ,这个玩意也用一个函数来表示,不会的可以参考一下俺的代码中的int bs(long long n)

                        我全都用long long 是因为确保而已,int应该也是可以的!!

注意事项:        注意题目给的2< =a< =b< =10000  

                      所以我们在  质因数分解 的函数代码中要把(64=2*2*2*2*2后面的质因数)判断到10000!!!!!!

                      切记!!!!

                       还有最后一个 * 不能输出来! 

参考代码:

#include<iostream>
using namespace std;
long long ss(long long n)

{	
	long long i;
	if(n<2) return 0;
	for(i=2;i<n;i++)
	{
		if(n%i==0)
			return 0;	
	}
	return 1;
}
void bs(long long n)
{
	int i,t=0;
	for(i=2;i<=10000;i++)
	{
		if(n%i==0)
		{
			if(t==0)
				cout<<i;
			else
				cout<<"*"<<i;
			n/=i;
			i--;
			t++;
		}
	}
	cout<<endl;
}
int main()
{
	long long i,a,b,sum=0;
	cin>>a>>b;
	for(i=a;i<=b;i++)
	{
		if(ss(i)==1)
			cout<<i<<"="<<i<<endl;
		else
		{
			cout<<i<<"=";
			bs(i);
		}
	}
	return 0;
}


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论