11问答网
所有问题
当前搜索:
c语言求素数的原理
C语言
判断
素数的
疑问
答:
换成a-1是肯定可以的,只不过需要的循环次数没那么多而已。为什么选用a/2呢?假设一个数不是
素数
,那么必然有两个介于1~(a-1)之间的数相乘等于a,这两个数
有什么
特点呢?要么都等于a/2 要么一个等于a/2一个小于a/2 要么全都小于a/2 这几点得来并不难,对于数字4,其一半的平方等于自己,...
用
c语言
编程序,用函数
求素数
,调用函数
答:
include <stdio.h>#include <math.h>//判断是否为
素数的
函数int isPrime(int n){ int i=2; while(i<=(int)sqrt(n)) { if(n%i == 0) return 0; //不是素数,直接返回0 else i++; } return 1;}int main(){ int n,i; printf("输入一个正...
C语言
编写一个
求素数
函数1至1000之间
答:
代码如下:include<stdio.h>int foundit(int i)// 按照题意,定义了一个函数,判断是否
素数
{int avg;int k; avg=(int)sqrt(i); for (k=3;k<=avg;k+=2) // 直接从 3 开始,因为 i 是奇数。 if (i % k ==0) // 余数为0,说明不是素数 return 0; retur...
C语言
程序题“
素数
和”
求解
答:
for(i=2; ;i++) /* 将素数存放到数组a中 */ if (isPrime(i)==1) { a[count]=i; count++; if (count==200) break; /* 统计到有200个素数则结束 */ } printf("本程序将
计算
第n个素数到第m个素数之间所有的
素数的
和 \n"); printf("请输入n和m,中...
C语言求
100到200之间的所有
素数
,按每行6个输出?
答:
include <stdio.h> int main() { int i, j;int count = 0; // 计数器,记录每行已经输出了多少个数 printf("100 到 200 之间的所有
素数
为:\n");for (i = 100; i <= 200; ++i) { int is_prime = 1; // 标记当前数是否为素数 for (j = 2; j < i; ++j) { if (i ...
怎样用
c语言
实现求3- N间所有
素数的
平方根之和
答:
include<stdio.h> include<math.h> int isprime(intn){for(inti=2;i*i<=n;i++)if(n%i==0)return 0;return n>1;} int main(){int n,i;double s=0;scanf("%d",&n);for(i=3;i<=n;i+=2)if(isprime(i))s+=sqrt(i);printf("%.3lf\n",s);return 0;} 输出结果 ...
C语言 求
10-20以内
素数
之和
答:
for(i=2;i<=m;i++) //改成i<=m,因为
素数
只能被1和他本身整除 if(m%i==0)//判断是否有数能将m整除 break; //有则跳出内层循环 if(i==m)/*如果m能被其他数整除,则跳出循环后i值一定比m小,如果只被m本身整除,则跳出循环后i==m,证明m为素数*/ printf("%3d",m); //满足...
c语言
数组
求素数
答:
include <stdio.h> int main(){ int a=0; //
素数的
个数 int num=0; // 输入的整数 printf("输入一个整数:");scanf("%d",&num);for(int i=2;i<num;i++){ if(num%i==0){ a++; // 素数个数加1 } } if(a==0){ printf("%d是素数。\n", num);}else{ printf(...
c语言求
一个一维数组中的
素数
答:
函数 int prime(int n) {} 返回 1是
素数
。include <stdio.h> include <math.h> int prime(int n){ int flag=1,i,k;if (n<1) return 0;if (n==1) return 1;k = (int) sqrt(n+1);for(i=2;i<=k;i++) if(n%i==0) {flag=0; break;} return flag;} int main() {...
c语言求素数
答:
算法错误。错误1、关于i的循环、j的循环是嵌套循环,缺少大括号。错误2、if(i%j==0)break;else printf("%d\t",i);i是偶数时没问题,i是奇数时问题就来了。是合数的奇数只有遇到它最小的质因数才结束,之前一次次输出。是
素数的
奇数更是每次都输出。结果输出了整屏整屏的数。修改:include <...
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
其他人还搜