判断101-200之间有多少个素数,并输出所有素数 判断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,则可以判断这个数是素数;
输出:
#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-->m域宽,打印出来以后,在控制台上,显示m位;
如果要打印的数的位数如果超过设定m则原样输出;
如果要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,cnt=0;
printf("101~200的素数有:
");
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("
");
printf("共有%d个",cnt);
return 0;
}
//判断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;
}
}
}
}
}
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;
}
}
判断101-200之间有多少个素数,并输出所有素数用java表示~
判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
[java] view plaincopyimport java.util.*; public class PrimeTest { public static void main(String[] args) { int x=0; Vector v = new Vector();//集合,用来装所有的素数 for(int i=101;i<=200;i++) { boolean b=true;//标签为b为真 for(int j=2;j<i;j++) { if(i%j==0)//求余数是否为0 { b = false;//如果为0, 将标签设置为false break; //可以整除就跳出这个循环 } } if(b==true)// { v.add(i);//将符合要求的i加到集合里 x++; // 素数个数加1 } } System.out.println("100到200中间有 "+x+" 个素数"); System.out.println("素数为:/n"+v); } }
sqrt(m)就是m的平方根。
(int)sqrt(m)就是m的平方根的整数部分。
就是说比如,要判断97是否一个素数,只要从2~9判断不能整除97,就可以下定论,97是一个素数了。
这是因为如果x能被a整除,则x必也能被x/a整除。若ax/a,则必有一个较小的因子<√x
若a==x/a,则必有a==√x
所以,只要从2~√m判断,就能确定m是否素数了。
题目:判断 101-200 之间有多少个素数,并输出所有素数。 程序分析:判断...
答:int m = 1;int n = 1000;int count = 0;// 统计素数个数 for(int i=m;i<n;i++){ if(isPrime(i)){ count++;System.out.print(i+" ");if(count%10==0){ System.out.println();} } } System.out.println();System.out.println(" 在 "+m+" 和 "+n+" 之间共有 "+...
判定101-200之间有多少个素数,并输出所有素数
答:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
判断101-200之间有多少个素数,并输出所有素数,每行10个
答:void main(){ int i,j,c=0; //定义一些变量 for(i=101;i<=200;i++) //循环,以判断101 到 200 间的质数 { for(j=2;j<=i;j++)//循环,判断当前数(i)是否是质数 { if(i%j==0) //是否还能被其他数整除 break;//还能被某个数整除,不是质数,退出当前循环 } if(j>=i)...
用c语言做:判断101-200之间有多少个素数,并输出所有素数。谢了!_百度...
答:include<stdio.h> include<math.h> main(){ int m,k,i,n=0;for(m=101;m<200;m+=2){ k=sqrt((double)m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>k){ printf("%5d",m);n++;} if(n%10==0)printf("\n");} printf("\n");} ...
判断101-200之间有多少个素数,并输出所有素数;
答:大循环是要测试是不是质数的那个数字101-200, x表示 y是小于x的(可能)约数,对于每一个x, 这个y都从2开始(因为1一定是x的约数),一旦发现这个y是x的约数,就跳出了y的循环,去看下一个x了。因为比如现在x是102, y是2,x被y整除,x肯定不是质数了,然后break;以后y也不用再加了。x...
判断101-200之间有多少个素数,并输出所有素数
答:package C;public class Sushu {public static void main(String[] args) {int sum=0;for (int i = 101; i < 201; i++){for (int j = 2; j <=i; j++){if(j==i){System.out.println(j);}else if(i%j==0){sum++;break;}}}System.out.println("总共有"+(100-sum)+"个...
编写一个C#程序,实现判断101-200之间有多少个素数,并输出所有素数_百度...
答:i++)if (num % i ==0) bl =false;return bl;} staticvoid Main(string[] args){ int number =0;for (int i =101; i <=200; i++){ if (sushu(i)){ Console.Write(i +"");number++;} } Console.WriteLine();Console.WriteLine("素数总个数为:"+ number.ToString());
判断101-200之间有多少个素数,并输出所有素数。用C语言编写
答:include <stdio.h>int isprime(int n);int main(void) {int i,cnt;for(i=101,cnt=0;i<200;++i){if(isprime(i)){printf("%d ",i);cnt++;}}printf("\n%d\n",cnt);return 0;}int isprime(int n){int i;if(n<2){return 0;}for(i=2;i*i<=n;++i){if(n%i==0){return...
使用python判断101-200之间有多少个素数,并输出所有素数分别是哪些...
答:printf("101-200以内的素数:\n");for (a=101;a<=200;a++){ q=0;s=sqrt(a);for(i=2;i<=s;i++){ if(a%i!=0)q++;} if(q==(int(s-1)))///应该是-1而不是-2 { p++;printf("%d\n",a);} } printf("素数的个数是:%d\n",p);return 0;} ...
编写C语言程序,求100~200之间所有素数。
答:参考代码:include<stdio.h>int fun(int n){//判断n是否是素数int i;for(i=2;i<n;i++)if(n%i==0) return 0;return 1; } int main(){ int i; for(i=100;i<=200;i++)//循环判断 if(fun(i))printf("%d ",i); return 0;}/*运行结果:101 103 107 109 113 127 131 137...