POJ1.13编程基础之综合应用

POJ1.13编程基础之综合应用

23:区间内的真素数

题目传送门
写这个题解就是为了记录一下一个找质因子的新思路(对于我来说),虽然效率可能不太高,但是觉得这个思路挺好玩的……

#include<bits/stdc++.h> 
using namespace std;
int sum[100];
int main()
{
    
    
	int n;
	cin>>n;
	int num=n;
	int k=2;
	while(n>1)
	{
    
    
		if(n%k==0)
		{
    
    
			sum[k]++;
			n/=k;
			k=2;
		}
		else k++;
	}
	int flag=0;
	for(int i=2;i<=num;i++)
	{
    
    
		if(sum[i]>0)
		{
    
    
			if(sum[i]>1)
			{
    
    
				if(flag==0) cout <<i<<"^"<<sum[i];
				else cout << "*"<<i<<"^"<<sum[i];
			}
			else
			{
    
    
				if(flag==0) cout << i;
				else cout <<"*"<< i;
			}
			flag=1;
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_50624971/article/details/115284018
今日推荐