酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

已知素数序列为2、3、5、7、11、13、17、19、23、29……,即素数的第一个是2,第二个是3,第三个是5……那么,随便挑一个数,若是素数,能确定是第几个素数吗?如果不是素数,则输出0。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入一正整数n(1≤n≤1000000)。 输出格式: 对于每组测试,输出占一行,如果输入的正整数是素数,则输出其排位,否则输出0。 用c语言

```c #include <stdio.h> #include <math.h> int isPrime(int n) { if (n < 2) return 0; for (int i = 2; i <= sqrt(n); i++) { if (n % i == 0) return 0; } return 1; } int main() { int n; while (scanf("%d", &n)!= EOF) { int count = 0; int num = 2; while (num <= n) { if (isPrime(num)) count++; if (num == n && isPrime(num)) { printf("%d\n", count); break; } num++; } if (num > n ||!isPrime(n)) printf("0\n"); } return 0; } ``` [2024-11-18 21:30:05 | AI写代码神器 | 207点数解答]

相关提问