#include <stdio.h> int main() { int i, j, n; scanf("%d", &n); for (i = 2; i < n; i++) { for (j = 2; j < i; j++) { if (i%j == 0) { break; } } if (j == i) printf("%d\n",i); } return 0; } 我这个代码比你的还稍微短一些,可以少用一次条件判断。
helena 2020-02-01 10:17:20 |
你能解释一下为什么当i=3,j=2时j==i吗?我一直想不明白,谢谢!!!
helena 2020-02-01 10:18:18 |
因为第二个循环条件是j<i不能再自增了吧
柠檬树下 2020-02-01 14:55:41 |
@helena 准确的来说是j自增后不满足条件而跳出内循环
helena 2020-02-01 15:44:26 |
哦哦,终于懂了,谢谢!!
小白来码 2021-02-25 23:14:22 |
想问一下当n=2时,i<n,j<n,就不成立了不是吗
渐入佳境. 2021-03-26 10:34:42 |
小白求问,为什么j==i时是素数呀
蒋雨涛 2021-04-28 23:02:12 |
@uq_20407637522 因为j==i时已经说明前面没有因数了,而它本身和1是唯一的一对因数。要是有其他因数,直接就退出循环了,根本就到不了j==ii
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:2498 |
简单的a+b (C语言代码)浏览:690 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:530 |
C语言训练-字符串正反连接 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:543 |
九宫重排 (C++代码)浏览:2195 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:490 |
关于C语言变量位置的问题浏览:294 |