用C语言输出1到10000之间的所有素数
额 你的那个if(i==m)用得不对
你上面明明限制了i<=m-1只有在m=2的时候材可能出现i==m成立的情况
我给你写写
#include
int main()
{
int i,j,m,count=0;
for(m=1;m<=10000;m++)
{
j=0;
for(i=2;i<=m/2;i++)
if(m%i==0)
{
j++;
break;
}
if(j==0)
{
count++;
printf("%d",m);
}
}
return 0;
}
楼下的算法真是醉了,素数不包括1,咔咔就从1开始算,威武啊!
#include
int main()
{
int pos = 0, pos1, count = 0,num = 0;
int a[10000] = {};
for(pos = 2; pos <= 30; pos ++){
for(pos1 = 2;pos1 <= 30; pos1 ++)
{
if(pos == pos1)
{
continue;
}
还有一部分代码字数不够,需要的话继续追问吧
C语言程序如下:
#include<stdio.h>
int main()
{
int i,j,k=0;
for(i=2;i<10000;i++)
{
for(j=2;j*j<=i;j++)
if(i%j==0)
break;
if(j*j>i)
{
printf("%d ",i);
k++;
if(k%5==0)
printf("
");
}
}
}
扩展资料:
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,另一个大于或等于√m。例如 16 能被 2、4、8 整除,16=2*8,2 小于 4,8 大于 4,16=4*4,4=√16,因此只需判定在 2~4 之间有无因子即可。
int main()
{
int i,j;
int flag;
printf("2 ");
for(i=3;i<=10000;i++)
{
flag=1;
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag)
{
printf("%d ",i);
}
}
return 0;
}
printf("素数:2
");
for (int i = 1; i<10000; i++) {
for (int k = i-1; k>1; k--) {
if (i%k == 0) {
break;
}
if (k == 2) {
printf("素数:%d
",i);
}
}
}
/**
* 用C语言输出1到10000之间的所有素数
*/
#include <stdio.h>
/**
* 判断一个数是否是素数
*/
int is_prime_number(int value)
{
int i = 0;
if(value <= 1)
return 0;
for (i=2; i<value; i++)
{
if (value%i == 0)
{
return 0;
}
}
return 1;
}
int main(int argc, const char *argv[])
{
int i = 0, num = 0;
printf("
10000 以内的所有素数如下:
");
for (i=0; i<10000; i++)
{
if (is_prime_number(i))
{
printf("%4d ",i);
if ((num+1)%30 == 0){
printf("
"); //换行
}
num ++;
}
}
printf("
"); //换行
return 0;
}
程序运行效果如下图(太多了,一张图截不完)所示:
/**
* 用C语言输出1到10000之间的所有素数
*/
#include <stdio.h>
/**
* 判断一个数是否是素数
*/
int is_prime_number(int value)
{
int i = 0;
if(value <= 1)
return 0;
for (i=2; i<value; i++)
{
if (value%i == 0)
{
return 0;
}
}
return 1;
}
int main(int argc, const char *argv[])
{
int i = 0, num = 0;
printf("\n 10000 以内的所有素数如下: \n");
for (i=0; i<10000; i++)
{
if (is_prime_number(i))
{
printf("%4d ",i);
if ((num+1)%30 == 0){
printf("\n"); //换行
}
num ++;
}
}
printf("\n\n"); //换行
return 0;
}程序运行效果如下图(太多了,一张图截不完)所示:
用C语言写一个代码从1到10,再从10到1,无限循环,按照1++和1--就行
#include<stdio.h> int main(){ int i = 1;int n = 1;while(n){ if(i<=10){ for(i = 1;i<=10;i++){printf("%d\\n",i)} }else{ for(i = 10;i>0;i--){printf("%d\\n",i)} } } return 0;}
c语言实现从键盘上输入10个数,并输出。
用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:include<stdio.h> int main(){ int i,j,a[10],t;printf("输入数");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...
求C语言1-10奇数和偶数之和(急)
可以参考下面的代码:include<stdio.h> main(){ int a,b,i;a=0;b=0;for(i=0;i<=10;i=i+2)a=a+i:for(i=1;i<=10;i=i+2)b=b+i;printf("偶数之和=%d\\n",a);printf("奇数之和=%d\\n",b);}
c语言: 用for语句求出1到10平均值
void main(){ int i,sum=0; for(i=1;i<=10;i++) { sum+=i; } printf("平均值为[%d]\\n",sum\/10.0);}
用C语言编一个程序
1. 从1到10的阶乘的和的程序 运行结果:1-10阶乘和为: 4037913 include<conio.h> include<stdio.h> int getResult(int num){ if(num == 1 ) \/* 1! =1 *\/ return 1;else \/* 如果 num != 1 那么则必然有 num! = num * (num -1)!*\/ return num * getResult(num -1);} v...
用c语言输出一乗到10
int main(){ int r = 1,i; for(i = 1; i <= 10; i ++) r*=i; printf("%d\\n", r);}
c语言 从1—10中取三个数,组合并输出
\/\/输出得到的组合数 { int iNum = 0;int m = 0;Node *p = pHead->next;while(p){ iNum = p->aNum[0]*100+p->aNum[1]*10+p->aNum[2];printf("%03d is: %03d\\n",p->iCount,iNum);p = p->next;m++;if(m == 10){ \/\/每隔10个数就打印一个换行 printf("\\n...
用c语言for循环求1到10阶乘
主函数 { int i,a=1;定义整形变量i,a(a初值为1)int sum =0;定义整形变量sum 初值为0 for(i = 1;i<=10;i++)设i的值为1,当i小于等于10成立时跳出答案,不成立,i的数值加1 { a = a i;a=a乘以i sum = sum + a;sum记录求和 } printf("1到10的阶乘和是 d",sum);输出...
1.C语言 输出1~10的平方格式:1*1=1 2*2=4 3*3=9 ...10*10=100 2.用...
include<stdio.h>int main(){ int i, x, sum=0, num=0; for(i=0; ;i++) { scanf("%d",&x); num++; if(x<0) break; else sum+=x; } printf("%d %d %d", sum, num, x); return 0;} ...
计算从1加到10的值,且将各个数字存放在一个数组中,输出数值的各...
include <stdio.h>#include <stdlib.h>int main(){ int iArray[10] = {1,2,3,4,5,6,7,8,9,10}; int iSum = 0; int i = 0; printf("数组元素为:"); for (i = 0; i < sizeof(iArray)\/sizeof(int); i++) { iSum += iArray[i]; printf("...
政叶盐酸: C语言程序如下: #include<stdio.h> int main() { int i,j,k=0; for(i=2;i<10000;i++) { for(j=2;j*j<=i;j++) if(i%j==0) break; if(j*j>i) { printf("%d ",i); k++; if(k%5==0) printf("\n"); } } } 扩展资料: C语言判断素数的思路 思路1:因此判断一个整数m是否...
曲沃县13374304586: c语言输出1到10000整数 - ?
政叶盐酸: 1 2 3 4 5 6 7 8 9#include <stdio.h> intmain() {inti;for(i = 1; i <= 10000; ++i){printf("%d\n", i);}return0; }
曲沃县13374304586: 用c语言输出10000以内的同构数 - ?
政叶盐酸: #include int main() {int i,n,t;for(n=1;n<1000;n++){t=n*n;if(n<=10){if(t%10==n)printf("%d * %d = %d\n",n,n,t);else continue;}else if(n<=100){if(t%100==n) printf("%d * %d = %d\n",n,n,t);else continue;}else{if(t%1000==n) printf("%...
曲沃县13374304586: c语言输出1到一万的所有回数,求大神 - ?
政叶盐酸: #include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm> using namespace std; bool Judge(int k) { char s[9]; int len = 0; memset(s, '\0', sizeof(s)); while (k) { s[len ++] = (k % 10) + '0'; k /= 10; } for (int i = 0; i < len >> ...
曲沃县13374304586: 输出10000以内所有满足这样的完全平方数a*a=b*b*10+c*c用C语言 - ?
政叶盐酸: #include<stdio.h> main() { int a,b,c; for(a=1;a<10000;a++) { for(b=1;b<10000;b++) { for(c=1;c<10000;c++) { if(a*a==b*b*10+c*c) printf("%d %d %d\n",a,b,c); } } } }
曲沃县13374304586: C语言输出1~10000之间所有的次方数 - ?
政叶盐酸: #include "iostream"#include <math.h> int pri(int n) { int i; for(i=2;i<int(sqrt(n)+1);++i) if(n%i==0) break; if (i==int(sqrt(n))+1) return (1); return (0); } void main() { int i; for (i=2;i<10000;++i) if (pri(i)) printf("%8d",i); }
曲沃县13374304586: 用C语言程序编写1到10000奇数和 - ?
政叶盐酸: #include <stdio.h> int main() { int i; long sum=0; for(i=1;i<=10000;i+=2){ sum+=i; } printf("1~10000的奇数和为:%d\n",sum); return 0; }
曲沃县13374304586: c语言求1到10000之间所有满足各位数字的立方和等于他本身的数,要求定义函数is() - ?
政叶盐酸: #include<stdio.h> int is(int n) {int s=0,t,k; k=n; while(n) {t=n%10; n/=10; s+=t*t*t; } return s==k; } int main() {int i; for(i=1;i<10001;i++) if(is(i))printf("%d\n",i); return 0; }
曲沃县13374304586: 用c语言打印1到1万 各一行怎么打? - ?
政叶盐酸: #include<stdio.h> int main() { for(long i=1;i<=10000;i++) printf("%d\n",i); return 0; }
曲沃县13374304586: C语言输入N个数输出最大值和最小值 - ?
政叶盐酸: #include<stdio.h>void main(){ int i,j,temp,count; printf("请输入你需要输入的个数:"); scanf("%d",&count); while(count<=0||count>10000){ printf("个数必须在1到10000之间!\n\n"); printf("请输入你需要输入的个数:"); scanf(...