判断质数方法一
#include <stdio.h>
int main()
{
int n,i;
printf("请输入一个数:\n");
scanf("%d",&n);
for(i=2;i<n;i++)
if(n%i==0)
break;
if(i<n)
printf("%d不是素数\n",n);
else
printf("%d是素数\n",n);
return 0;
}
方法二
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,k;
printf("请输入一个数:\n");
scanf("%d",&n);
k = sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)
break;
if(i<=k)
printf("%d不是素数\n",n);
else
printf("%d是素数\n",n);
return 0;
}
五位质数回文数
输入
10000 10600
输出
10301 10501
#include <stdio.h>
#include <math.h>
int main() {
int a,b;
scanf("%d%d",&a,&b);
int num = 0;
int i,j;
for ( i = a; i <= b; i++) {
for ( j = 2; j <= sqrt(i) ; j++) {
if (i % j == 0) {
break;
}
}
//if(1){//
if (j > sqrt(i) ){
int n1 = i / 10000;
int n2 = (i % 10000) / 1000;
int n3 = ((i % 10000) % 1000) / 100;
int n4 = (((i % 10000) % 1000) % 100) / 10;
int n5 = i% 10; //(((i % 10000) % 1000) % 100)
if (n1 == n5 && n2 == n4) {
num++;
if (num != 1) {
printf(" ");
}
printf("%d", i);
}
}
}
return 0;
}