判断101-200之间有多少个素数,并输出所有素数

如题所述

1.素数又称质数,理论上有无限个。素数定义为:在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为素质数。

10--200之间的素数(质数)有:101  103  107  109  113  127  131  137  139  149  151  157  163  167  173  179  181  191  193  197  199

2.程序分析:首先明白什么是素数,只能被1和本身整除的数,用循环遍历101-200之间的数,然后用101~200间的书整出2到该数前面一个数,比如是113,我们113整除2~112之间的数,只要这里的数整出都不等于0,则可以判断这个数是素数;

输出:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-21

#include "stdio.h"

void main()

{

int i,j;

for(i = 101 ; i <= 200 ; i++ )

{

for(j = 2 ; j < i ; j++)

{

if(i % j == 0)//只要除到一个数让 i 能被整除就跳出该循环。

{

break;

}

else

{

if( j == i-1 )//除完最后一个数后还不跳出循环,就可以判断该数为素数

{

printf("%d ",i);

}

}

}

}

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;

如果要打印的数的位数如果超过设定m则原样输出;

如果要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

本回答被网友采纳
第2个回答  2018-11-17
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,cnt=0;
printf("101~200的素数有:\n");
for(n=101;n<=200;n++)
{
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
break;
if(i>sqrt(n))
{
cnt++;
printf("%d ",n);
}
}
printf("\n");
printf("共有%d个",cnt);
return 0;
}

第3个回答  2020-05-05
//判断101-200之间的素数
public class TestFor04 {
public static void main(String[] agrs) {
for(int a=101;a<200;a++) {
for(int b=2;b<a;b++) {
if(a%b==0) {
break;
}else {
if(b==a-1) {
System.out.print(a+"\t");
break;
}

}

}
}
}
第4个回答  2018-05-18
public class Su {

 public static void main(String[] args) {

  int su = 0;

  int count = 0;

  for (int i = 101; i < 201; i += 2) {

   if (isSu(i)) {

    su = i;

    System.out.println(su);

    count++;    

   }

  }

  System.out.println(count++);

 }

 public static boolean isSu(int i){

  for (int j = 2; j <= i / 2; j++) {

   if (i % j == 0) {

    return false;

   }

  }

  return true;

  

 }

}

相似回答