求简单C语言程序代码!输入2个正整数m和n,求其最大公约数和最小公倍数#include#includeint main()int m,n,p,q,s,r;printf("请输入两个正整数;m,n\n");scanf("%d,%d",&m,&n);#in
判断输入的数是否为素数,如果不是,则继续输入,直到输入的数为素数并输出这个数
JAVA,输入一个1-100的整数判断素数是素数继续输入,不是素数关闭程序
publicclassSuShu{
publicstaticbooleanisSuShu(inta){
for(inti=2;iif(a%i==0){
returnfalse;
}
}
returntrue;
}
publicstaticvoidmain(String[]args){
Scannersca=newScanner(System.in);
System.out.println("请输入一个1-100之间的整数");
intinput;
while(true){
input=sca.nextInt();
if(input>100||input<1){
System.out.println("超出范围请重新输入");
continue;
}else{
System.out.println("输入成功你输入的是:"+input);
if(isSuShu(input)){
System.out.println(input+"是素数!请继续。");
continue;
}else{
System.out.println(input+"不是素数!程序结束。");
break;
}
}
}
}
}
你的算法有问题,求素数为何要开方?
还有,多注意一些代码的重用性,能封装起来的就应该封装成一个方法。
C语言编程判断输入的正整数是否为素数。
输入:共两行,第一行一个整数,为输入正整数的个数n(1<=n<=1000);第二行n个空格隔开的正整数Ai(1 <= Ai <= 1000) 输出:一行,对于每个正整数,如果是素数则输出YES,否则输出NO,中间用空格隔开。 以下是我编写的程序 #includeC语言编程判断输入的正整数是否为素数。
将:for(k=2;k<=x[i]-1;k++)改成:for(g=0,k=2;k<=x[i]-1;k++)主要是在这个for循环前令g=0。
因为输入的不止一个数,开头的初始化g=0,在第一个数的时候就可能已经被改了。后面的数不重新初始化g=0,就不能保证对了。
判断一个正整数n是不是素数的思路:
思路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,另一个大于或等于√m。
例如 16 能被 2、4、8 整除,16=2*8,2 小于 4,8 大于 4,16=4*4,4=√16,因此只需判定在 2~4 之间有无因子即可。
正确代码如下:
#include
#include
int isPrime(int n)//判断n是否为素数,如果是则返回1,否则返回0。
{
if(n<=1)return 0;//小于等于1直接退出。
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算术平方根遍历。
if(!(n%i)) return 0;//存在约数,不是素数,返回0。
return 1;//不存在约数,返回1,表示为素数。
}
main ()
{
int num;
scanf ("%d", &num);
if ( isPrime( num) )//num是素数。
printf ("%d is a prime",num);
else
printf ("%d isn't a prime",num);//num不是素数。
system("PAUSE");//暂停界面。
return 0;
}
扩展资料:
输入一个正整数或0,判断是否为质数:
#include "stdio.h"
int main()
{
while(1)
{
int n,flag,i;
printf("请输入一个数:");
scanf("%d",&n);
flag = n/2+1;
if(n==0||n==1)
printf("%d既不是质数也不是合数\n",n);
else if(n==2)
printf("%d是质数\n",n);
else
{
for(i=2;i<=flag;i++)
{
if((n%i)==0)
{
printf("%d不是质数,是合数\n",n);
break;
}
if(i==flag&&(n%i)!=0)
printf("%d是质数\n",n);
}
}
}
}
判断输入的正整数是否为素数,如果是素数,输出Yes,否则输出No。(素数是指只能被1和自身整除的数
#include"stdio.h"
intmain()
{
intn,flag=1,i;
scanf("%d",&n);//输入一个数n,判断它是否是素数。
for(i=2;i{
if(n%i==0)//根据素数的定义n依次除以小于它本身大于1的数
{flag=0;//一旦有能被整除的数,表明n不是素数,使得flag=0。
break;
}
}
if(flag==0)//根据flag的值判断n是否是素数
printf("%d不是素数",n);
else
printf("%d是素数",n);
return0;
}
c语言编程:设计一个函数用于判断一个数是否为素数,如果是素数返回1,否则返回0。
源程序代码以及算法解释如下:
#define _CRT_SECURE_NO_WARNINGS
#include
int Func(int m)//判断函数
{
int n = 2;
while (n <= m && (m%n))//判断是否能被其他数整除
n++;
if (m == n)
return 1;
else
return 0;
}
int main()
{
int M_num;//定义变量
printf("请输入需要判断的数:\n");//文字提示
scanf("%i", &M_num);//循环输入数组元素
int i = Func(M_num);//判断是否是素数
if (i == 1)//输出结果
printf("输入的数是素数");
if (i == 0)
printf("输入的数不是素数");
printf("\n");
return 0;
}
程序运行结果如下:
扩展资料:
输出1-100之间的所有素数程序如下:
#include
int PrimeNumer(int x) //定义一个函数判断
{
assert(x > 0); //判断
int i; //被除数
for (i = 2; i < x; i++)
{
if (x%i == 0)
{
return 0; //表示正常终止
}
}
return 1; //只是给主调函数一个标志,说明他的执行过程中遇到异常情况。 然后就返回主调函数来处理,继续执行。
}
int main()
{
int i,a;
int count = 0;
for (i = 2; i < 101; i++)
{
if (PrimeNumer(i)) //调用函数来判断
{
count++; //加入了一个计数器
printf("%d\n", i);
}
}
printf("素数出现的次数%d", count);
system("pause");
return 0;
}
相关文章
- 详细阅读
-
c++编程问题详细阅读
c语言编程问题#include #include
struct student {int num;char name[20];float score[4];};
void input(struct student a[], int);
void aver(struct student a[], int,s -
用C语言编程实现,任意输入年,输出该详细阅读
c语言设计万年历 输入任意年份,输出该年12个月份 输入任意年份月份,输出该年月日历程序直接输入年份和月份,打印对应日历。一年12个月是固定的,我就不写单独输入年份打印月份了
-
A++这个编程语言好不好学?详细阅读
A++这个编程语言好不好学?好学好学,很好学的。我想自学编程,好学吗?编程当然可以自学。自学编程大约需要两三个月,每天抽出两三个星期把基础全部学习一遍,其他都是建立在基础之上
-
三菱3U机用步进SFC块编程红绿灯详细阅读
三菱FX系列PLC怎么编写SFC程序块,自动,急停,手动,如何启动与停止这些块。FX系列里有个方便指令叫 IST 可以编写手动,回原点,单步运行,单周期运行,全自动运行,回原点启动,自动运
-
随机森林模型有没有一个具体公式,不详细阅读
python随机森林分类模型,测试集和训练集的样本数没有准确按照70%和30%分配?进行比例划分的时候 从 int 型 转化为了 float 型, float型总是会有微小的误差的,这个不是大问题。
-
拜师父学编程详细阅读
我想学编程拜师求指教首先是算法+数据结构. 会写程序是基础,学C语言,然后C++, 可以是JAVA. 数据库要懂,ACCESS这种小东西应该没问题,SQL常用要好好学. 数学,逻辑,编译原理,
-
求加密java编程题 字母clvj字符加详细阅读
如何用JAVA实现字符串简单加密解密?java加密字符串可以使用des加密算法,实例如下: package test; import java.io.FileInputStream; import java.io.FileOutputStream; import
-
编程将基本RAM地址30h~3fh内容传送详细阅读
编写一个程序,把片内RAM从30H开始存放的16个数据传送到片外RAM从0000H开始的单元中。1、首先在采用CCS6.0编译器进行代码编写时,要进行相应的设置,如下图所示。2、其中,外扩接在
-
testB跟编程语言是一回事吗?详细阅读
B语言和C语言 有什么区别(越详细越好)不知道或者没听说过B语言的请不要凭着自己的感觉胡乱回答,误人子弟。 B语言是贝尔实验室开发的一种通用的程序设计语言,它是于1969年前后