`
caoruntao
  • 浏览: 467765 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

数论:zoj 2723 Semi-Prime

 
阅读更多

【转】

 

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int prim[1000002];
void pri()
{
	prim[0] = prim[1] = 0;
	for(int i=2; i<=1000000; i++)
	    prim[i] = i;
	for(int i=2; i<500000; i++)
	    if( prim[i] )
	        for(int j=2; j*i<=1000000; j++)
	            prim[j*i] = 0;
}
int main(void)
{
	int n,i,q;
	pri();
	while( scanf("%d",&n) != EOF )
	{
		i = 0;q = 0;
		while(n!=1)
		{
			if( prim[i] )
			{
				while( n%prim[i] == 0 )
				{
					n = n/prim[i];
					q++;
				}
			}
			i++;
		}
		if(q == 2)
		    printf("Yes/n");
		else
		    printf("No/n");
	}
return 0;
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics