东大OJ-1430-PrimeNumbers

题目描述

I'll give you a number , please tell me how many different prime factors in this number.

输入

There is multiple test cases , in each test case there is only one line contains a number N(2<=N<=100000). Process to the end of file.

输出

For each test case , output one line contains one number , indicating different prime factor in the number N.

样例输入

12
5
30

样例输出

2
1
3

提示

12 = 2 * 2 * 3

5 = 5

30 = 2 * 3 * 5 


#include<iostream>
using namespace std;
int a[100001];
void go(){
	memset(a, 0, sizeof(a));
	int i,j;
	for (i = 2; i < 100001;i++)
	if (a[i] == 0){
		for (j = i; j < 100001; j+=i)a[j]++;
	}
}
int main(){
	//freopen("in.txt", "r", stdin);
	int x;
	go();
	while (cin >> x)cout << a[x] << endl;
	return 0;
}


原文地址:https://www.cnblogs.com/weiyinfu/p/5013910.html