编写一个程序,从键盘输入m,输出大于m且紧随m的素数

作者&投稿:展珊 (若有异议请与网页底部的电邮联系)
C语言输入m输出大于m紧随m的素数~

#include #include int is_prime(int m){ int i; for(i = 2; i <= (int)sqrt(m); i++) if(m%i==0) return 0; return 1;}int main(){ int m, r; scanf("%d",&m); for(r = m+1; ; r++) if(is_prime(r)) break; printf("%d
",r); return 0;}

#include
int main(void)
{
int m,n;
int amount=0;
printf("Enter two number: ");
scanf("%d%d",&m,&n);
printf("The result:");
for(int i=m;amount<n;++i)
{
for(int j=2;j<i;++j)
{
if(i%j==0)
break;
}
if(j>=i)
{
printf("%d",i);
amount++;
}
}
return 0;
}

# include<stdio.h>

int fun(int m)

int i,k; for(i=m+1;;i++){

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

if(i%k==0)

break;

if(k>=i)

return(i);

void main()

int n; 

printf("
Please enter n:"); 

scanf("%d"",&n);

printf("%d
",fun(n));

}

扩展资料:

c语言程序判断素数思路:

思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。

思路2):另外判断方法还可以简化。m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ √m之间的每一个整数去除就可以了。

如果 m 不能被 2 ~ √m 间任一整数整除,m 必定是素数。例如判别 17 是是否为素数,只需使 17 被 2~4 之间的每一个整数去除,由于都不能整除,可以判定 17 是素数。


原因:因为如果 m 能被 2 ~ m-1 之间任一整数整除,其二个因子必定有一个小于或等于 ,另一个大于或等于√m。

例如 16 能被 2、4、8 整除,16=2*8,2 小于 4,8 大于 4,16=4*4,4=√16,因此只需判定在 2~4 之间有无因子即可。




不好意思哈,第一次没看清楚题目要求.....
我们也刚刚学,欢迎来和我交流学习

#include<stdio.h>
int s(int x)
{
int a=0,n;
x=x+1;
for(x;a==0;x++)
{
for(n=2;n<=x;n++)
{
if(x%n==0) {break;}

}
if(n==x) a=1;
}
return x;}
int main()
{
int m,a;
printf("请输入一个整数m:");
scanf("%d",&m);
a=s(m)-1;
printf("比m大的素数为%d\n",a);
return 0;
}

#include <iostream>
#include <cmath>
using namespace std;
int f(int n) //起到判断正整数是否为素数的作用,返回一个值以标识,是则返回1,否则返回0。
{
int i,j=0;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
j++;
if(n==1) return 0;
else
{
if(j==0)
return 1;
else
return 0;
}
}

int main()
{
int i,j,p=0,m;
cout<<"输入一个整数:"<<endl;
cin>>m;
i=m+1;
while(1)
{
if(f(i)) {cout<<i<<endl;break;}
else i++;
}
return 0;
}

#include
<iostream>
#include
<cmath>
using
namespace
std;
int
f(int
n)
//起到判断正整数是否为素数的作用,返回一个值以标识,是则返回1,否则返回0。
{
int
i,j=0;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
j++;
if(n==1)
return
0;
else
{
if(j==0)
return
1;
else
return
0;
}
}
int
main()
{
int
i,j,p=0,m;
cout<<"输入一个整数:"<<endl;
cin>>m;
i=m+1;
while(1)
{
if(f(i))
{cout<<i<<endl;break;}
else
i++;
}
return
0;
}

#include "stdio.h"
main()
{
int i,j,p,m;
scanf("%d",&m);

for(i=m;;i++)
{
p=0;
for (j=2;j<=i/2;j=j+1)
if(i%j==0)p=1;
if(p==0)
printf("%d\t",i); break;
}
}

请编写一个程序,程序的功能是:从键盘输入一个整数m,求出1到m(含m...
答:include <stdio.h>void main(){int m,k=0,i;printf("请输入正整数m的值: ");scanf("%d",&m);for(i=2;i<=m;i++)if(i%7==0||i%11==0){printf("%d ",i);k++;}printf("\n\n1到%d之间能被7或11整除的数共有%d个。\n",m,k);}运行示例:

编写一个程序,从键盘输入m,输出大于m且紧随m的素数
答:include<stdio.h> int fun(int m)int i,k; for(i=m+1;;i++){ for (k=2;k=i)return(i);void main()int n;printf("\nPlease enter n:");scanf("%d"",&n);printf("%d\n",fun(n));}

用C语言编写一个程序:从键盘上输入一个数字m,输出n的值,n满足条件:n...
答:{ int m,n;printf("请输入一个数字:");scanf("%d",&m);printf("输出:\n");for(n=1;n<=m;n++)if ( fun(n)<=m && m<=fun(n+1)){ printf("%d!=%.0f\n",n,fun(n)); /*%.0f输出阶乘,double类型不输出小数点*/ printf("%d!=%.0f\n",n+1,fun(n+1));p...

用C++编写一个程序,键盘输入一个正整数m,屏幕显示满足条件1*1+2*2...
答:int main(){ int n=1,j=0,m;cout<<"请输入一个数 ";cin>>m;while(m>j){ ++n;j=n*n+j;} cout<<"1*1+2*2+...+n*n<m的最大的n为 ";cout<<n-1;return 0;}

编写程序,从键盘输入一个字符串和一个整数m,在原字符串中把字符串尾部...
答:h> include<string.h> int main(){ char a[100],b[20];int i,j,n,k;gets(a);scanf("%d",&k);n=strlen(a);for(j=0,i=n-k;i<n;i++,j++)b[j]=a[i];for(j=0;j<k;j++)printf("%c",b[j]);for(i=0;i<n-k;i++)printf("%c",a[i]);printf("\n");} ...

从键盘任意输入一个整数m,若m不是素数,则计算并输出m的所有因子(不包括...
答:int i;for(i=2;i<=sqrt(n);i++)if(n%i==0)return 0;}int main(){int n,i,j=0;scanf("%d",&n);if(isprime(n))printf("No divisor! %d is a prime number",n);else {i=2;while(i<=n/2){if(n%i==0){if(j)printf("、");printf("%d",i);j=1;}i++;}}return ...

c语言代码 从键盘输入一个3位的自然数M,分离出它的百位、十位与个位...
答:给你关键性的提示:int b=M/100; 百位上的数字 int s=(M-b*100)/10; 十位上的数字 int g=M%10; 各位上的数字 怎么输入数字自己查下书。

...m),在main函数中读入一个整数m,然后从键盘输入m个?
答:void fun(int a[],int m){//存储m个整数至数组a for(int i=0;i<m;i++){ scanf("%d",&a[i]);} } int main(){ int num[100]={0};//用来存储m个数字的数组 int m;scanf("%d",&m);fun(num,m);//调用自定义函数进行输入 //输出,测试 printf("已输入数字:\n");for(...

c程序设计 从键盘上输入整数m和k,输出大于且紧靠m的k个素数。
答:include <stdio.h> main(){ int i,n,num=0,m,k;scanf("%d %d",&m,&k);for (i=m+1;num<k;i++){ for (n=2;n

python累计求和,编写一个程序,从键盘输入两个整数m和n,求m和n之间(包...
答:python累计求和,编写一个程序,从键盘输入两个整数m和n,求m和n之间(包括m和n)数字个数 s = input("input number: m=")if not s.isnumeric():print("Please input a number.")return m = int(s)s = input("input number: n=")if not s.isnumeric():print("Please input a number."...