# include
int main(void)
{
int i, j, k = 0;
printf("请输入一个数字判断是否是素数:");
scanf("%d", &i);
for (j = i - 1; j >= 2; j--)
{
if (i % j == 0)
k = j;//把j里面能把i整除的数赋给k
}
if (k)//如果j赋给了k,那么k不等于0,为真,输出不是素数;如果j没有赋给k,那么k等于0,为假,输出是素数
printf("%d不是素数!\n", i);
else
printf("%d是素数!\n", i);
return 0;
}
我的判断质数方法超级复杂,又超级快。想看懂的同学们,好好加油吧
#include
#include
using namespace std;
bool isprime(int a)
{
if(a<13)
if(a<=1 || a==4 || a==6 || a==8 || a==9 || a==10 || a==12)
return false;
else
return true;
else
if((a+1)%6==0 || (a-1)%6==0)
if(a%2!=0)
for(int i=4;i*i<=a;i%2!=0)
if(a%i==0)
return false;
else
i++;
else
for(int i=4;i*i<=a;i++)
if(a%i==0)
return false;
return true;
}
int main()
{
int n;
scanf("%d",&n);
if(isprime(n))
printf("是质数");
else
printf("不是质数");
return 0;
}
int main()
{
int num,a=0;
cout<<"请输入要判断的整数:";
cin>>num;
for(int i=2;i
if(num%i==0)
{
a=1;
break;
}
}
if(a==1)
cout<
cout<
#include
void main() {
int n,m;
scanf("%d",&n);
for(m=2; m
return;
}
#include
using namespace std;
int main(){
int n, t=1;
cin >> n;
for(int i = 2; i <= ( n / 2 ); i++)
{
if( n % i == 0){
t = 0;
break;
}
//也可以用bool定义个tf来做
}
if(t = 0){
cout << "No" << endl;
}
else if(t=1){
cout << "Yes" << endl;
}
}