yhkn.net
当前位置:首页 >> 判断是否为素数 C语言 >>

判断是否为素数 C语言

1. 思路1:判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数.代码如下:#include <stdio.h> int main(){ int a=0; // 素数的个数 int num=0; // 输入的整数 printf("输入一个整数:

所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除.因此判断一个整数m是否是素数,只需把m被2~m-1之

最简单的思路,就是从2开始逐个判断能否整除,如果存在本身以外因子,就不是质数,否则是质数.代码:int is_prime(int n) { int i; for(i = 2; i if(n%i == 0) return 0; return 1; } int main() { int n; scanf("%d",&n); if(is_prime(n)) printf("%d 是质数\n", n); else printf("%d 不是质数\n", n); }

#include<iostream>#include<cmath>using namespace std;int main(){int a,b,i,flag=true;cin>>a;b=sqrt(a);for(i=2;i<=b;i++){if(a%i==0){flag=false;break;}}if(flag){cout<<a<<"是素数"<<endl;}else{cout<<a<<"不是素数"<<endl;}return 0;}扩展资料:

生生死死的《妖精当道》雷人的一文. 1受ms有12个攻..还没写乱

#include<stdio.h> int main() { int i,k; for(k=2;k<=100;k++)//从2到100对每一个数进行判断 { for(i=2;i<k;i++)//判断k值能否被2~k-1中的任意值整除 if(k%i==0)//当k值能被整除时退出for循环 break; if(i==k)//当i==k时,for循环执行到i<k结束退出,所以k无法被整除,是素数 printf("%d \n",k); } return 0; printf("\n"); } 有疑问可以继续追问

int abc(int i) { int n = 0, m; for(m=2;m<=(i/2);m++) { if(i%m==0) n==1; } return(n); }

输入一个整数A,再开根号得x.循环用A除以2到x之间的整数,判断结果是不是整数.如果全部都不是,那么A就是素数.判断会吧?就是把结果取整看是否等于结果.

你要判断1 , 1不是素数, 你的程序中是素数

#include"stdio.h"#include"math.h" main(){ int i,k,m; scanf("%d",&i); k=sqrt(i); //判别i是否为素数,只需使2~根号i之间的每一个整数去除 for(m=2;m<=k;m++) if(i%m==0)break; if(m>k) printf("%d是素数 ",i); else printf("%d不是素数",i); getch(); }

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com