C语言 · 打印1-200之间的素数

素数定义:除了1和本身再无其他整数可被其本身整除的数称为素数,也称质数。

举一例子打印出1-200之间所有的素数:

#include<stdio.h>
#include<math.h>
int main(){
 int m,i,k,h=0,leap=1;
 for(m=1;m<=200;m++){
  k=sqrt(m+1);//只是用来确定循环次数的
  for(i=2;i<=k;i++)
   if(m%i == 0){
    leap=0;
    break;
   }
  if(leap==1){//可以省略写为:if(leap)
   printf("%-4d",m);
   h++;//记录有几个
   if(h%10 == 0)
    printf("\n");//一行输出10个数
  }
  leap = 1;
 }
 printf("\n\nThe Total is %d",h);
}

时间: 2024-12-28 20:36:30

C语言 · 打印1-200之间的素数的相关文章

C语言打印100—200之间的素数

质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数:否则称为合数.  根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积:而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的.最小的质数是2. 目前为止,人们未找到一个公式可求出所有质数. C语言代码如下:     # include <stdio.h> int main()   

c语言打印100~200之间的素数

素数即就是该数除了1和它本身以外不再有其他的因数,否则称为合数. 找寻100~200之间的素数的算法:让a被2~√a除,若a不能被整除,则a是素数. #include<stdio.h> #include<math.h> int main() {    int a,k,i;//数a     printf("100~200以内的prime\n");      for (a=101;a<=200;a=a+2)   {  k= sqrt(a);    for (i

C语言打印100 ——200之间的素数

根据素数定义,只能被1和它本身整除的自然数为素数.利用定义可以循环判断该数除以比它小的每一个自然数(不包括1),如果都不能整除,则这个数就是素数. 由于上述方法效率太低,对此方法进行优化.我们都知道偶数一定不是素数,那只求剩余一般的数.如果一个数是合数,那么它的最小质因数肯定小于等于他的平方根,由合数定理可进一步优化,只需要循环判断该数除以比它的平方根小的每一个自然数(大于1)即可. C语言代码如下: #include<stdio.h> #include<math.h> int m

打印100~200 之间的素数

编写思想:对100到200之间的数依次进行for循环判断,看其是否为素数.判断方法:对于一个自然数,除了1以外,不是素数就是合数.若该数字是素数,则不能被除了1和它自身以外的数整除:而一个数如果是合数,则它的所有因子不会大于对其开根号所得出的数,由此可得出每个数最多时候的循环次数. 初次生成的源代码如下: #include<stdio.h> #include<math.h> int main() { int primer,variabe,sign; for(primer=101;p

C语言实现打印100~200 之间的素数

#include "stdio.h"#include "math.h"void main(){ int m,i, k;         for(m=101; m<=200; m+=2)         { k=sqrt(m);         for (i=2;i<=k;i++)         if (m%i==0) break;         if(i>k)        { printf("%6d",m);       

【c语言】将100~200之间的素数输出

// 将100~200之间的素数输出 #include <stdio.h> #include <math.h> int main() { int i,j; printf("100~200之间的素数如下:\n"); for(i = 101; i <= 199; i++ ) { for( j = 2; j <= sqrt(i); j++ ) { if( i % j == 0 ) break; } if( sqrt(i) < j ) printf(&

求100到200之间的素数

质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数. /** * 判断100 ~ 200间素数的个数 * * @author Administrator */ public class IsPrime { public static void main(String[] args) { // 遍历100 ~ 200 之间的素数 for (int i=100; i<=200; i

Java基础知识强化04:判断101~200之间有多少素数

判断101~200之间有多少素数? 1 package himi.hebao; 2 3 /** 4 * (1).编写函数isPrime()用来判断输入数据是否为素数 (2).遍历判断101~200之间的数据是否为素数,并且计数count 5 * 6 * @author Administrator 7 * 8 */ 9 10 public class TestDemo05 { 11 12 public static void main(String[] args) { 13 int count =

C语言打印100到200之间的素数

用C语言打印素数,我们首先要了素数的相关定义:只有1和它本身两个因数的自然数,也就是说除了1和它本身外,不能被其他自然数整除的数就称为素数. 例如:101只能被1 和101 整除:103只能被1 和103 整除,所以他两都是素数 思路: 要判断一个数是否为素数可以验证从2开始到它本身的数里是否有可以被他取余数为0 的数字,如果有则证明它不是素数.反之则输出素数. 1 # include<stdio.h> 2 int main() 3 { 4 int i = 0; 5 int count = 0

100到200之间的素数输出(初)

100到200间的素数的输出(初) #include<stdio.h> main() { int i; int j; printf(100~200间的素数有:\n); for(i=100;i<=200;i++) { for(j=2;j<i;j++) { if(i%j==0) break; } if(i==j) printf("%d ",i) } return 0; }