c语言求1-1000素数的算法问题

作者&投稿:钞泰 (若有异议请与网页底部的电邮联系)
~ 循环嵌套,外层循环是从1-1000的数字i(1排除,这你应该明白),内层是对数字i的素数判断。
素数:除了1和它本身外没有别的因子。也可以理解为:除了1和它本身,其他数来除它余数都不是0。
所以内层循环用从2开始到i的平方根(取整)依次求余,因为到了平方根以后,再增加除数,得到的商是小于平方根的,等于以前取过的除数。所以平方根以后不用再算了。
如果有=0的余数(if(i%j
==0)),说明正在判断的数字不是素数,用break语句退出内层循环;如果没有=0的余数,开关数w不归零,if(w)后的语句执行,计数器n自加一次(找到一个素数),并打印当前检验数i。
打印前有一个if判断,如果计数器n满整10(能够被10整除)就换行,也就是说这个素数表每行10个数。不换行数字键隔一个列表间隔(等于tab)。


C语言 用筛法求1-1000之间的素数
1、写我们的头文件和主函数。写好我们的开头。2、编写定义变量,我们语言定义一个i来用于后面的for循环。3、输入一个数,在那之前我们要有一个printf()提示一下,显得程序有调理。4、利用for循环看一看从2到n-1是否能被n整除,如果能就要break。5、判断素数,如果程序正常结束,就i>=n,说明他就...

用C语言编程 下面程序实现功能是:求1到1000满足条件“用3除余2,用5...
include <stdio.h> int main(){ int i,j=0;for(i=1;i<=1000;i++){ if(i%3==2&&i%5==3&&i%7==2){ printf("%d ",i);j++;if (j%5==0){printf("\\n");} } } return 0;}

c语言求1-1000素数的算法问题
循环嵌套,外层循环是从1-1000的数字i(1排除,这你应该明白),内层是对数字i的素数判断。素数:除了1和它本身外没有别的因子。也可以理解为:除了1和它本身,其他数来除它余数都不是0。所以内层循环用从2开始到i的平方根(取整)依次求余,因为到了平方根以后,再增加除数,得到的商是小于平方根...

C语言,求1到1000的质数
include <stdio.h> include <stdlib.h> include <math.h> \/ 本程序用来计算1000内质数有哪些及一共有哪些。知识点:什么是质数?及只能被本身和1整除的整数。时间:2018.10.22 \/ int main(void){ int i,j,result = 0,sum = 0; \/\/i-循环变量和被判断数 j-循环变量和判断数 re...

c语言编程 求1-1000 不包括1000 同时能被5与11整除的所有自然数之和的...
include <stdio.h>#include <math.h>int main(){ int s=0; int i; for(i = 1; i < 1000; i ++) if(i%5==0 && i %11 ==0) s+=i; printf("%lf\\n", sqrt(s)); return 0;}

编写一个程序。求1~1000之间所有偶数的和
python3 用列表推导式创建一个元素为1~1000间所有偶数的列表,然后用sum()函数输出列表元素总和。直接用循环来累加。请点击输入图片描述

C语言构建子函数求1~1000的完全数
include<stdio.h>#includeint sum(int n){int s=0,i; for(i=1;i<=n\/2;i++) if(n%i==0)s+=i; return s-n;}int main ( ){int i,a[1001]; printf("亏数:\\n"); for(i=1;i<1001;i++) {a[i]=sum(i); if(a[i]<0)printf("%5d",i); } printf("\\n盈数...

c语言求1到1000之间的第二大完数
\/\/c语言求1到1000之间的第二大完数#include <stdio.h>int main(){ int i,j,cnt=0; int a[100]; for(i=2;i<=1000;i++) { int sum = 0; for(j=1;j

C语言编程: 求出1~1000之间的所有能被7整除的数,并计算和输出每5个的...
\/\/#include "stdafx.h"\/\/vc++6.0加上这一行.include "stdio.h"void main(void){ int i;for(i=7;i<966;printf("%d ",5*i+70),i+=35);printf("\\n");}

C语言查找1-1000之间的所有素数
源程序如下:include<stdio.h> int isPrime(int x){ int k;for (k=2;k<x;k++)if (x%k==0)return 0;return 1;} main(){ int i,j=1;for (i=2;i<=1000;i++)if (isPrime(i)){ printf("%4d",i);if ((j++)%10==0)printf("\\n");} printf("\\n");} ...

昌邑市18084185769: c语言求1 - 1000素数的算法问题 -
浦轮吉赛: 循环嵌套,外层循环是从1-1000的数字i(1排除,这你应该明白),内层是对数字i的素数判断. 素数:除了1和它本身外没有别的因子.也可以理解为:除了1和它本身,其他数来除它余数都不是0. 所以内层循环用从2开始到i的平方根(取整)依...

昌邑市18084185769: 求助c语言高手查找1 - 1000之间的所有素数.素数是指只能被1和它本身整数的数.要求:1、编写一个函数isPrime,接收一个整数,返回是否为素数. 2、在... -
浦轮吉赛:[答案] #include main() { int i,j,flag=1; for(i=2;i {flag=1; for(j=2;j if(i%j==0) flag=0; if(flag==1) printf("%d,",i); } } //判断是否为素数

昌邑市18084185769: C语言,找1到1000的素数怎么做呢 -
浦轮吉赛: #include<stdio.h> int main() {char num[1001];int i,n;memset(num,0x00,sizeof(num));for(n=2;n<32;n++)for(i=2;i*n<1001;i++)num[i*n]=1;printf("1到1000素数为:\n");for(i=2;i<1001;i++)if(num[i]==0)printf("%d\n",i);return 0; } 大概和素数表对照了一下,最后几个数是对的.

昌邑市18084185769: C语言中怎么1到1000所有的质数 -
浦轮吉赛: 1、缺一个#include"stdio.h";2、里面有汉语标点符号,如if (a%i==0)(这个是汉语的),for(a=2;a<=1000;a++)(;是汉语的)3、我的环境稍有不同,是devc++,修改粘贴如下:#include<conio.h>#include"stdio.h" int main() { int a,i; printf("素数:\n"); for(a=2;a<=1000;a++) { for (i=2;i<=(a-1);i++) {if(a%i==0) break;} if (i>=a) { printf("%d\n",a); } } getchar(); return 0; }

昌邑市18084185769: C语言:输出1 - 1000素数; -
浦轮吉赛: 函数f有问题啊,如果是素数会返回,但不是素数的话,没有返回值啊. 建议 修改如下: 1. 函数f中 if(j>=n)return n; elsereturn 0; 2. 函数main的循环中int result = f(i);if( result )printf("%5d",result);

昌邑市18084185769: C语言编程题计算并输出1000以内最大的10个素数以及它们的和. 要求: (1)在程序内部加必要的注释.(2)由于偶数不是素数,可以不考虑对偶数的处理... -
浦轮吉赛:[答案] #include int main() { int i,n,k = 0,sum = 0; int a[10],flag = 1; for(n = 999; n > 1 && k < 10; n -= 2) { flag = 1; for(i = 2; i * i <= n && flag; ++i) flag = n % i; if(flag) { a[k++] = n; sum += n; } } for(i = 0; i < k; ++i) printf("%d + ",a[i]); printf("\b\b= %d\n",...

昌邑市18084185769: 用c语言编程(求1000之内的素数和)要求只能用函数和 for循环 必须有函数 -
浦轮吉赛: #include <stdio.h>int main(void) {int i, j, count, let; count = 0;let = 0;for(i=1; i<1000; i++){for(j=1; j<=i; j++)if(i%j == 0)count++;if(count == 2)let++;count = 0;}printf("素数个数是:%d\n", let);return 0; } 这个比用函数简单,更简便,可以考虑一下

昌邑市18084185769: 编写一个程序,输出1~1000之内所有的素数(注意:素数即质数)及个数(C语言) -
浦轮吉赛:[答案] 刚好在做C++,顺便帮你做下, #include main() { int a,i,sum=0; printf("素数:\n"); for (a=1;a

昌邑市18084185769: c语言求1000以内的素数和 -
浦轮吉赛: #include <stdio.h> #define N 1000 int main(int argc, char *argv[]) {int i,j,sum,flage;for(i=2;i<N;i++n){flage=0;for(j=1;j<=i&&flage<=2;j++)if(i%j==0)flage++; if(flage==2)sum+=i;}printf("1000以内的素数和为:%d\n",sum); return 0; }

昌邑市18084185769: C语言,求1 - 1000的素数并输入,程序代码问题 -
浦轮吉赛: .....它怎么会不停止呢?for(;b==a;) printf(/*管他是什么*/);这样的语句能不死循环吗?不要怀疑,你的break;并不在循环体内.更加不能明白的是你要这次循环有什么用呢?再好好想想算法.该用判断语句的时候不要用循环.素数表输出不需要那么复杂,2次循环就够了.尽量把自加的循环变量放到循环语句内,不要放到语句块内.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网