蓝桥杯--算法提高 8-1因式分解

问题描述
  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出23。输入20,输出22*5。
样例
  与上面的样例输入对应的输出。
  例:
在这里插入图片描述

数据规模和约定
  输入数据中每一个
数在int表示范围内。

#include<iostream>
#include<math.h>
using namespace std;

bool pd(int n)
{
	for(int i=2;i<=sqrt(n);i++)
	if(n%i==0)return false;
	return true;
}

int main()
{
	int n,i;cin>>n;bool tag=false;
	while(n!=1)
	{
		for(i=2;i<=n;i++)
		{
			if(n%i==0 && pd(i))
			{
				if(tag)	cout<<'*';
				else tag=true;
				cout<<i;
				n=n/i;
				break;
			}
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/WILDCHAP_/article/details/107425609