a到b之间有哪些素数呢?

2026-04-12 01:051阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计347个文字,预计阅读时间需要2分钟。

a到b之间有哪些素数呢?

素数定义:除了1和它本身以外不再有其他因数的自然数(只能被1和它本身整除)。

错误写法:素数:除了1和它本身以外不再有其它的因数的自然数(只能被1和它本身整除)。

素数:除了1和它本身以外不再有其它因数的自然数(只能被1和它本身整除

1.错误写法

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void list_prime(int a, int b) { // 列出a到b之间的每个数 for (int i = a; i < b + 1; i++) { //把列出的每一个数都除以2到y-1,看余数是否为0 for (int k = 2;k < ;k++) { if (i % k == 0) break;//跳出距离最近的for循环 } printf("%d ", i); } } int main() { int a = 0; int b = 0; scanf("%d%d", &a, &b); list_prime(a, b); return 0; }

错误原因:不管第9行的break是否执行(不管i是否能被整除),最终都会执行第11行printf。

2.正确写法

把判断语if放在第一个for循环中,需要再引入一个is_prime函数(因为if需要一个判断条件,而这个判断条件的值位于第二个for循环中,所以引入函数可以完美解决这个问题)

a到b之间有哪些素数呢?

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void list_prime(int a, int b) { // 列出a到b之间的全部数字,再进行判断 for (int i = a; i < b + 1; i++) { if (i == 1)//1不是素数 continue; if (is_prime(i) == 1) printf("%d ", i); } } //判断单个数字是否为素数 int is_prime(int i) { for (int k = 2;k < i;k++) { if (i%k==0) return 0; } return 1; } int main() { int a = 0; int b = 0; scanf("%d%d", &a, &b); list_prime(a, b); return 0; }


本文共计347个文字,预计阅读时间需要2分钟。

a到b之间有哪些素数呢?

素数定义:除了1和它本身以外不再有其他因数的自然数(只能被1和它本身整除)。

错误写法:素数:除了1和它本身以外不再有其它的因数的自然数(只能被1和它本身整除)。

素数:除了1和它本身以外不再有其它因数的自然数(只能被1和它本身整除

1.错误写法

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void list_prime(int a, int b) { // 列出a到b之间的每个数 for (int i = a; i < b + 1; i++) { //把列出的每一个数都除以2到y-1,看余数是否为0 for (int k = 2;k < ;k++) { if (i % k == 0) break;//跳出距离最近的for循环 } printf("%d ", i); } } int main() { int a = 0; int b = 0; scanf("%d%d", &a, &b); list_prime(a, b); return 0; }

错误原因:不管第9行的break是否执行(不管i是否能被整除),最终都会执行第11行printf。

2.正确写法

把判断语if放在第一个for循环中,需要再引入一个is_prime函数(因为if需要一个判断条件,而这个判断条件的值位于第二个for循环中,所以引入函数可以完美解决这个问题)

a到b之间有哪些素数呢?

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void list_prime(int a, int b) { // 列出a到b之间的全部数字,再进行判断 for (int i = a; i < b + 1; i++) { if (i == 1)//1不是素数 continue; if (is_prime(i) == 1) printf("%d ", i); } } //判断单个数字是否为素数 int is_prime(int i) { for (int k = 2;k < i;k++) { if (i%k==0) return 0; } return 1; } int main() { int a = 0; int b = 0; scanf("%d%d", &a, &b); list_prime(a, b); return 0; }