九度 1207

#include <cstdio>
#include <iostream>
using namespace std;

#ifdef ONLINE_JUDGE                                   
#define FINPUT(file)  0
#define FOUTPUT(file) 0
#else                                                
#define FINPUT(file)  freopen(file,"r",stdin)
#define FOUTPUT(file) freopen(file,"w",stdout)
#endif

bool isPrime(int n)
{
	int i;
	if(n==2||n==3)
		return true;
	for(int i=2;i*i<=n;i++)
	{
		if(n%i==0)
			return false;
	}
	return true;
}

int main()
{
    FINPUT("in.txt");
    FOUTPUT("out.txt");    
    int n;
    while(cin>>n && n)
    {
		if(n==1)
			cout<<0<<endl;
		else if(isPrime(n)) 
			cout<<1<<endl;
		else
		{
			int k = 0;
			for(int i=2;i<=n && n>1;i++)
			{
				while(n%i==0)
				{
					n/=i;
					k++;
				}
			}
			cout<<k<<endl; 
		}			
    }
    return 0;
}

你可能感兴趣的:(算法)