首页 > 编程知识 正文

c语言中如何求素数,如何用C语言求素数

时间:2023-05-05 08:56:54 阅读:264062 作者:2376

文章目录 一、判断n是否能被2~n-1整除二、判断n是否能被2~√n间的整数整除

一、判断n是否能被2~n-1整除

输入的数n不能被2-(n-1)整除,说明是素数
输入的数n能被2-(n-1)整除,说明不是素数

注意:1不是素数,素数是指大于1的自然数,除了1和该数自身外,无法被其他自然数整除的数。

法一:

#include<stdio.h>int main(){ int i, n; printf("请输入一个数:"); scanf("%d", &n); for (i = 2; i < n ; i++) { if (n%i == 0) break; } if (n <=1 ) printf("这不是素数n"); else if (i < n) printf("这不是素数n"); else printf("这是素数n"); return 0; }

法二:

#include<stdio.h>int main(){ int i, n; printf("请输入一个数:"); scanf("%d", &n); if(n<=1) printf("这不是素数n"); else { for (i = 2; i < n ; i++) { if (n%i == 0) break; } if(i>=n) printf("这是素数n"); else printf("这不是素数n"); } return 0;} 二、判断n是否能被2~√n间的整数整除

输入的数n不能被2-√n整除,说明是素数
输入的数n能被2-√n整除,说明不是素数

方法一:

#include<stdio.h>#include<math.h>int main(){ int n,i; double k; printf("请输入一个数:"); scanf("%d", &n); k = sqrt(n); for (i = 2; i <= k;i++) { if (n%i == 0) break; } if (n <=1 ) printf("这不是素数n"); else if (i <= k) printf("这不是素数n"); else printf("这是素数n"); return 0; }

方法二:

#include<stdio.h>#include<math.h>int main(){ int n,i,k; printf("请输入一个数:"); scanf("%d", &n); if(n<=1) printf("这不是素数n"); else { k=sqrt(n); for (i=2;i<=k;i++) { if (n%i==0) break; } if(i>=k+1) printf("这是素数n"); else printf("这不是素数n"); } return 0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。