#include<iostream>
#include<cmath>
using namespace std;
int main(void)
{
register long h,i,j; //暫存器變數
while(cin>>i)
{
h=sqrt(i); //算到根號處
bool k=true;
for(j=3;j<h;j+=2) //只讀奇數,加速兩倍
{
if(i%2==0)
k=false;
else
{
if(i%j==0)
{
k=false;
break;
}
}
}
if(k==true)
cout<<"質數"<<endl;
else
cout<<"非質數"<<endl;
}
}
是否有更快方法或概念?
#include
#include
using namespace std;
int main(void)
{
register long h,i,j; //暫存器變數
while(cin>>i)
{
h=sqrt(i); //算到根號處
bool k=true;
for(j=3;j {
if(i%2==0)
k=false;
else
{
if(i%j==0)
{
k=false;
break;
}
}
}
if(k==true)
cout<<"質數"< else
cout<<"非質數"< }
}
是否有更快方法或概念?
#include
#include
using namespace std;
int main(void)
{
register long h,i,j; //暫存器變數
while(cin>>i)
{
h=sqrt(i); //算到根號處
bool k=true;
for(j=3;j {
if(i%2==0)
k=false;
else
{
if(i%j==0)
{
k=false;
break;
}
}
}
if(k==true)
cout<<"質數"< else
cout<<"非質數"< }
}
是否有更快方法或概念?
O_O