当前位置:首页 » 编程语言 » c语言中素数判断

c语言中素数判断

发布时间: 2022-05-22 03:58:02

A. c语言判断素数

#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int prime(int x){
for(int i=2;i<x;i++){
if(x%i==0)
return 0;
}
return 1;
}
int main(){
int a=0; // 素数的个数
int num[9]; // 输入的整数
int numl[9]={0};
printf("输入10个整数:\n");
cfu:
//有个小BUG需要输入11个数,最后一个不算入计算之内。
for(int i = 0;i < 10;i++){
scanf("%d\n",&num[i]);
}
for (int i = 0;i < 10;i++)
{
if (num[i] >= 50 && num[i] <= 2000)
{
//判断是不是素数;
if(prime(num[i])==1){
printf("%d 不是素数\n",num[i]);
}
else{
printf("%d 是素数\n",num[i]);
numl[a++] = num[i];
}
}else{
printf("请输入50到2000之间的数\n");
goto cfu;
}
}
//排序写在这里就可以了。
int lenth = a;
cout << "长度为: "<< lenth << endl;
for (int i = 0;i < lenth-1;i++)
{
for (int j = 0;j < lenth-1-i;j++)
{
if (numl[j] < numl[j+1] )
{
int temps = numl[j];
numl[j] = numl[j+1];
numl[j+1] = temps;
}
}
}
for (int i=0;i<lenth;i++)
{
printf("%d ",numl[i]);
}
while(1);
return 0;
}
//好像看错题了,我的是输入10个数判断是否是素数,,,,,
//这个重新写了一个,就符合题的意思了,你想输出其他的素数就自己加条件,当成拓展就可以了.
#include "stdafx.h"
#include <iostream>
using namespace std;
int prime(int x){
for(int i= 2;i< x ; i++){
if(x%i == 0)
return 0;
}
return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
int m,k=0;
int arr[2000]={0};
printf("输入50到2000之间的整数: ");
cfu:
scanf("%d",&m);
if (m >= 50 && m <= 2000)
{
//判断在m以内有素数
for (int i =2;i < m; i++)
{
if (prime(i)==1){
printf("%d 是素数\n",i);
arr[k++]= i;
if (k == 10)
{
break;
}
}else{
printf("%d 不是素数\n",i);

}
}

}else{
printf("输入50到2000之间的整数");
goto cfu;
}
cout << "K的值: "<< k << endl;
for (int i = 0;i < k-1;i++)
{
for (int j = 0;j < k-1-i;j++)
{
if (arr[j] < arr[j+1] )
{
int temps = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temps;
}
}
}
printf("10个数排序:");
for (int i = 0;i< k; i++)
{
printf("%d ",arr[i]);
}
while(1);
return 0;
}

B. C语言素数的判定

for(i=2;i<data;i++)
if(data%i!=0)
cnt++;//素数的个数
else
break;

你这样肯定是不行的。
这样只要找到一个不能整除的数,就判断为了素数,比如data为9,你循环到2,9%2!=0,那么你cnt++了

下面这个算法是对的。
for(i=2;i<=half;i++)
if(data%i==0)
break;
//说明从2到data/2
中间存在一个可以整除data的数,那么不是素数。
if(i>half)
{xx[n]=data;n++;} //i>half
说明循环到
data/2都没找到一个可以整除的
数,那么这个数就是素数了

C. C语言判断素数

#include
"stdio.h"
main()
{
int
i=2;
int
n;
printf("input
n:");
scanf("%d",&n);
while(ii++;
if(i==n)
printf("YES\n");
else
if(iprintf("NO\n");
}
我也是新手,你犯的错误和我当初一样,呵呵,
素数判断是确定2~n-1范围内没有可以被n整除的数,
而你的判断语句:
for(int
i=2;i{
a=m%i;
if
(a==0)
}
if
(a==0)
printf("NO\n");
else
printf("YES\n");
}
我们举个例子,当n=9的时候,按照你的语句判断,初始i=2,9/2不能整除,而你的判断语句要求此时就printf("YES\n");,根本还没有测试i=3的时候就已经循环结束了,
这个判断错误主要是逻辑思路的问题,望楼主以后多多注意,不要和我一样啊,呵

D. c语言如何判断素数

素数又称质数,所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。

首先要知道素数是不等于1,它的因子只有1和它本身。判断一个数是否为素数,可以用大于1小于给定数的所有数去除给定数,如果有任何一个能够除尽,就表示是合数,反之是素数。

(4)c语言中素数判断扩展阅读:

首先,本文英文字母都表示整数,上半部B 》3N 》W,下半部B 》W 》3N。大于3的素数只有6N-1和6N+1两种形式,我们只需判定这两种数是素数还是合数即可。

命题 1 对于B=36N+1 形数而言。

若不定方程(3N)^2+N-(B-1)/36=W^2 有整数解,

则 6(3N-W)+1 是小因子数;6(3N+W)+1 是大因子数。

若不定方程 (3N)^2-N-(B-1)/36=W^2 有整数解,

则 6(3N-W)-1 是小因子数;6(3N+W)-1 是大因子数。

两式都无解,是素数。

E. 如何用c语言编程判断一个数是不是素数

方法一:

#include<stdio.h>

int main(){

int i,j;

printf("请输入一个正整数。\n");

scanf("%d",&i);

if(i<2)

printf("小于2,请重新输入。\n");

elseif(i%2==0)

printf("%d不是一个素数。\n",i);

else{

for(j=2;j<=i/2;j++){

if(i%j==0){

printf("%d不是一个素数。\n",i);

break;

if(j>i/2){

printf("%d是一个素数。\n",i);

break;

方法二:

#include<stdio.h>

int main(){

int a=0;

int num=0;

scanf("%d",&num);

for(inti=2;i<num-1;i++){

if(num%i==0){

a++;

if(a==0){

printf("YES\n");

}else{

printf("NO\n");

方法三:

#include"stdio.h"

int main(){

printf("\t\t\t\t\thelloworld\n");

int a,i;

do{

printf("inputnumberjudgeprimenumber:\n");

scanf("%d",&a);

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

if(a%i==0)break;

if(i==a)

printf("%d是素数\n",a);

else

printf("%d不是素数\n",a);

}while(a!=0);

F. c语言判断素数共有几种方法

判断是不是素数,素数就是只能被1和本身整除的自然数。
void
main()
{
int
m,i,k;
printf("please
input
a
number:\n");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0)
break;
if(i>=k)
printf("该数是素数");
else
printf("该数不是素数");
}

热点内容
pid算法调速 发布:2025-02-13 21:20:31 浏览:686
脚本中new 发布:2025-02-13 21:00:11 浏览:741
什么配置的笔记本电脑能玩神武 发布:2025-02-13 20:54:40 浏览:178
挑选云服务器需要注意什么 发布:2025-02-13 20:53:31 浏览:98
加密滴胶卡 发布:2025-02-13 20:30:48 浏览:275
javalogin 发布:2025-02-13 20:25:48 浏览:427
智联招聘无法上传照片 发布:2025-02-13 20:16:03 浏览:529
python元素替换list 发布:2025-02-13 20:03:48 浏览:773
windows系统账户名和密码是多少 发布:2025-02-13 20:03:02 浏览:531
我的世界带有商店服务器好吗 发布:2025-02-13 20:02:50 浏览:616