#include<stdio.h> int main() { int N = 0, i = 2; scanf("%d", &N); while (i <= N) { int e = 0; int a = 2; while (a < i) { if (i % a == 0) { e++; } a++; } if (e==0) { printf("%d\n", i); } i++; } return 0; }
这个函数可以判断某个数是否是素数,如果是素数则返回该数,否则返回0。剩下的自己写吧。 int Cal(int data) { for(int i = 2;i <= sqrt(data);i++) { if(data % i == 0) { return 0; } } return data; }
有没有大佬康康为什么输入 100 循环两次就掉出来了TAT #include<stdio.h> int main() { int N,n; int sum =0; int i; scanf("%d",&N); for(i = 2;i<=N;i++) { if(i==2) { printf("%d\n",i); } else if(i>2) { for(n=2;n<i;n++) { if(i%n ==0) { sum +=1; } } if (sum == 0) { printf("%d\n",i); } } } return 0; }
a是什么呢
HzuYZL 2021-03-19 20:50:39 |
a只是作为一个标记
无怨 2021-11-23 11:40:17 |
那这个a去掉可不可以?
棉花不是花 2022-01-13 16:36:49 |
@1839093593 不可以,需要a来记录循环找到的这个数是不是质数
海兰 2022-03-05 20:27:06 |
a相当于作为判断条件,若a=0则证明i不符合i能被其他数整除的条件(即i为素数)则输出i,反之直接跳过执行下一次循环
杨静初 2022-05-02 16:31:20 |
@hailan 那13行a自增是什么意思呢
uq_20099990464 2022-06-24 16:25:52 |
a是i能被其他数(非1和i本身)整除的次数,若a==0,则除了1和他本身外没有数能整除他,即他为素数;否则为非素数
这个还行#include<stdio.h> void main() { void sushu(int n); int n; scanf_s("%d",&n); int i; for (i = 2; i < n; i++) { sushu(i); } } void sushu(int n) { int i; for (i = 2; i < n; i++) { if (n % i == 0) { break; } }if (n == i) printf("%d\n",n); return n; }
钟神赛车 (C语言代码)浏览:911 |
简单的a+b (C语言代码)浏览:528 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:610 |
C语言训练-素数问题 (C语言代码)浏览:1697 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1001 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:913 |
文科生的悲哀 (C语言代码)浏览:1538 |
Tom数 (C语言代码)浏览:517 |