找一个数n的素数乘积组合

范围2~sqrt(n)

证明:

假设素数n存在sqrt(n)~n的数a,有n=a*b,则b范围是2~sqrt(n), 即b已经在前面通过对范围2~sqrt(n)的遍历中得到,所以a>sqrt(n)的情况已经考虑到了,不必再增加遍历的范围

#include<iostream>
using namespace std;
int main()
{
	int n;
	while(cin >> n){
	    int i;
		for(i=2; i*i<=n; i++){
			if(n%i==0){
				n=n/i;
				cout << i << "*";
				i=1;
			}
		}
		cout << n << endl;
	}
}