注册 登录
编程论坛 C++教室

求解答,刚开始学c语言、

zhangle张乐 发布于 2019-06-18 13:13, 2991 次点击
求n到m之间所有的素数,n和m值由用户从键盘输入
7 回复
#2
黄明礼2019-11-30 11:20
#include<stdio.h>
#include<math.h>  
int main()   
{    int a,b,n,k,i;
      
     scanf("%d%d",&a,&b);//如果错误,把a b 交换
     if(a==1)
         a=2;
     for(n=a;n<=b;n++)
 
     {
         k=sqrt(n);
     for(i=2;i<=k;i++)
        if(n%i==0)break;
     if(i>=k+1)
     {
      
      
         
         printf("%d ",n);
 
}
 
}
         printf("\n");
      return 0;
}
#3
泰艾我勒2019-11-30 18:40
#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); //sqrt()函数的使用功 能: 计算一个非负实数的平方根
a=1;
for(i=2;i<=k;i++)
if(j%i==0)
{a=0;break;}
if(a==1)
{printf("%d ",j);b++;
if(b%10==0) printf("\n");} //回车问题在此行
}
}
#4
whinda2020-01-08 00:56
偶也刚开始,试着思路做了一个。结果好像是正确的。GCC,winXP
1.平方根为1的均是质数,2.只要平方根以内没有因数就是质数。
程序代码:

#include<iostream>
#include<math.h>

using namespace std;

int main() {
   int n,m;
   cout<<"第一行输入N,第二行输入M:\n";
   cin>>n>>m;
   int nSqr;
   for (int i=n;i<=m;i++) {
      nSqr=int(sqrt(i));
        if (nSqr==1) cout<<i<<endl;
      for (int k=2;k<=nSqr;k++) {
         if (i%k==0) break;
         if (k==nSqr) cout<<i<<endl;
      }
   }
   system("pause");
}

#5
九千七2020-01-28 16:51
#include <stdio.h>
int main()
{
    int i,n,m;
    printf("请输入起始数值n: ");
    scanf("%d",&n);
    i = n;
    printf("请输入终止数值m: ");
    scanf("%d",&m);

    for ( ;i <= m;i++)
    {
        if (i % 2 == 0)
        continue;
        else {printf("%d\t",i);}
    }
    printf("\n");
    return 0;
}
#6
return_02020-01-28 17:24
用得着那么难吗:

#include<iostream>
using namespace std;
bool check(int a){//本函数用于判断,在主函数'main'中会使用
    for(int i=2;i<=a-1;i++){//从2到a-1的范围内一一查询
        if(a%i==0){//查询过程:用a取模动态值i,若为零直接返回false
            return false;
        }
    }
    return true;//若所有情况符合,返回true
}
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=n;i<=m;i++){//从n到m一一查询
        if(check(i)==true){//用函数判断,这里我不省了,为的是让萌新看得清楚一点
            cout<<i<<" ";//情况符合,输出i
        }
    }
    return 0;
}
#7
return_02020-01-28 17:26
程序代码:
#include<iostream>
using namespace std;
bool check(int a){//本函数用于判断,在主函数'main'中会使用
    for(int i=2;i<=a-1;i++){//从2到a-1的范围内一一查询
        if(a%i==0){//查询过程:用a取模动态值i,若为零直接返回false
            return false;
        }
    }
    return true;//若所有情况符合,返回true
}
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=n;i<=m;i++){//从n到m一一查询
        if(check(i)==true){//用函数判断,这里我不省了,为的是让萌新看得清楚一点
            cout<<i<<" ";//情况符合,输出i
        }
    }
    return 0;
}
#8
return_02020-02-29 18:20
记住,sprt可能会慢
1