大一c语言的题目。输出m-n之间所有的素数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大一c语言的题目。输出m-n之间所有的素数相关的知识,希望对你有一定的参考价值。
改写( sample02_07.cpp )保存为ex02_06.cpp:输出m-n之间所有的素数,调用int isprime(int n)函数,每行输出10个素数。
sample02_07.cpp
/*求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。*/
/* 使用嵌套循环求100以内的全部素数 */
#include <stdio.h>
#include <math.h> /* 调用求平方根函数,需要包含数学库 */
int main(void)
int count, i, m, n;
count = 0; /* count记录素数的个数,用于控制输出格式 */
for(m = 2; m <= 100; m++)
n = sqrt(m);
for(i = 2; i <= n; i++)
if(m % i == 0) break;
if(i > n) /* 如果m是素数 */
printf("%6d", m); /* 输出m */
count++; /* 累加已经输出的素数个数 */
if(count % 10 == 0) /* 如果count是10的倍数,换行 */
printf("\n");
printf("\n");
return 0;
搜索
复制
应将k=sqrt(m);删除。在a=1;的前面加上 k=sqrt(j);
附上程序:
#include <math.h>
void main(void)
int i,j,m,n,k,s,a,b=0;
scanf("%d",&n);
scanf("%d",&m);
for(j=n;j<m;j++)
k=sqrt(j); //程序改进 在此行
a=1;
for(i=2;i<=k;i++)
if(j%i==0)
a=0;break;
if(a==1)
printf("%5d",j);b++;
if(b%10==0) printf("\\n"); //回车问题在此行
参考技术A 应将k=sqrt(m);删除。在a=1;的前面加上 k=sqrt(j);
附上程序:
123456789101112131415161718
#include <stdio.h>#include <math.h>void main(void) int i,j,m,n,k,s,a,b=0; scanf("%d",&n); scanf("%d",&m); for(j=n;j<m;j++) k=sqrt(j); //程序改进 在此行 a=1; for(i=2;i<=k;i++) if(j%i==0) a=0;break; if(a==1) printf("%5d",j);b++; if(b%10==0) printf("\n"); //回车问题在此行
题目:判断101-200之间有多少个素数,并输出所有素数
1 public class PrimeNumber{//100-200直接有多少素数 2 public static void main(String[] args){ 3 int a=0; 4 for(int i=100;i<=200;i++){ 5 boolean bool=true; 6 int n=1; 7 while(bool){ 8 n++; 9 if(i==n){ 10 break; 11 } 12 if(i%n==0){ 13 bool=false; 14 } 15 } 16 if(bool){ 17 a++; 18 System.out.println(i+"是素数"); 19 } 20 } 21 System.out.println("100-200之间一共有"+a+"个素数"); 22 } 23 }
以上是关于大一c语言的题目。输出m-n之间所有的素数的主要内容,如果未能解决你的问题,请参考以下文章