C语言编程,1到100,求质数,谁能帮帮我啊,网上找的,不完整,看不懂,毫无思路

如题所述

第1个回答  2015-12-21
#include <stdio.h>
#include <math.h>
int f(int n) 
{
 int i;
 //素数标准:只能被自己和1整除的数字
 for(i=2;i<=sqrt(n);i++)
 {
  //能被其他数整除,就不是素数
  if(n%i==0)
   return 0;
 }
 return 1;
}
int main()
{
 int i,k=0;
 printf("1至100之间的素数从小到大分别为:\n");
 for(i=2;i<=100;i++)
 {
  //依次判断所有数字是否为素数
  if(f(i))
  {
   k++;
   printf("%d\t",i);
  }
 }
 printf("\n总共%d个。\n",k );
 return 0;
}

第2个回答  2015-12-21
#include <stdio.h>

int main()
{
    int n;
    for( n=2;n<=100; n++ ) //遍历2-100,最小的质数是2,检查每个数是不是质数
    {
        int i;
        for( i=2;i<n;i++ ) //从2到n检查,有没有n的因数
        {
            if ( n%i==0 )
                break; //如果i是n的因数,提前结束循环,此时,i一定小于n
        }
        if ( i==n ) //没有因数,则i会等于n
            printf("%d ", n ); //输出该质数
    }
    return 0;
}

追问

只有你的运行成功

本回答被提问者和网友采纳
第3个回答  2015-12-21

质数是只能被1和它本身整除的数

#include <stdio.h>
int main()
{
    int i, j;
    for(i=2;i<=100;++0)
    {
        for(j=2;j*j<=i;++i){//j<=根号i
            if(i%j==0)break;//整除就跳出
        }
        if(j*j>i)printf("%d\n", i);//2-根号i中没有被i整除的数
    }
    return 0;
}

追问

不行

运行出错

追答#include <stdio.h>
int main()
{
    int i, j;
    for(i=2;i<=100;++i)
    {
        for(j=2;j*j<=i;++j){//j<=根号i
            if(i%j==0)break;//整除就跳出
        }
        if(j*j>i)printf("%d\n", i);//2-根号i中没有被i整除的数
    }
    return 0;
}

打快了,两个变量地方打错了

追问

可以运行,屏幕跳动的是死循环

追答

最多是100次循环,怎么会死循环呢,你肯定是哪里的变量抄错了

第4个回答  2015-12-21
#include<stdio.h>
int IsPrime(int n)
{
int i;
for(i=0;i<n/2;i++)
if(n%i==0)
return 0;
return 1;
}
int main()
{
int i;
printf("1-100中的质数有:\n");
for(i=1;i<=100;i++)
if(IsPrime(i))
printf("%3d",i);
printf("\n");
return 0;
}

C语言编程,1到100,求质数,谁能帮帮我啊,网上找的,不完整,看不懂,毫无...
就不是素数 if(n%i==0) return 0; } return 1;}int main(){ int i,k=0; printf("1至100之间的素数从小到大分别为:\\n"); for(i=2;

找出1到100里的质数并求和,谁能帮写个程序或者给点建议?200分_百度知...
return 1;} \/\/在小于sqrt(a)的所有整数中查找a的因数,\/\/不过我习惯用sqrt(a)+1,保证不会漏掉 \/\/sqrt(a)这个整数(如果是的话)\/\/如果有,那么a不是质数,返回0 \/\/如果没有,那么a是质数,返回1 void main(){ int n,sum;for(n=1;n<=100;n++){ if(isPrime(n)==1) sum+=n;}...

救命啊```谁来帮帮我``用JAVA求出1--100中所有质数的和
public static void main(String[] args) { int number[] = new int[100];int sum=0;\/\/ 整除标志 int flag = 1;\/\/ 数组赋值循环 for (int i = 0; i < 100; i++)number[i] = i + 1;\/\/ 寻找质数循环 for (int j = 1; j < 100; j++) { flag = 1;\/\/ 去除以从2开始...

谁能帮我写一个用Scanner写的 可以得到100以内的质数的JAVA程序,
public class CheckZhiShu{ public static void main(String[] arfs){ Scanner sc=new Scanner(System.in);System.out.println("");int i=sc.readInt();for(int j=2;j<=i-1;j++)\/\/除1与本身外没有因子 { if((i%j)==0){ System.out.println(“不是质数”);return 0;} } System....

谁帮我列举一下5000以内的质数,并教我是从哪找出来的。
迄今为止发现的最大质数是2^43112609-1,也就是2自身相乘43112609次减1,它有12978189位数,如果用普通字号将这个巨数连续写下来,这个梅森素数的长度可超过50公里。5000以内质数 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107109 113 127 131...

谁能帮我设计一个框图,判断大于2的整数是否为质数?
步骤1:读入n,步骤2:判断n是否是素数?步骤3:是>打印n,程序结束 不是>n=n-1返回步骤2.判断一数是不是素数我就不说了吧,就是只能被1和自己整除,用循环搞定

C语言编程 求1!+3!+5!+……+N!的值,且N为奇数
a *= i * (i - 1); sum += a; } printf("%ld\\n",sum); return 0;}本程序已经在VC上运行通过,在N不是很大的情况下可以,太大了就属于大数问题了,要改 本回答由提问者推荐 举报| 答案纠错 | 评论(1) 9 0 无泪瓦擦 采纳率:45% 擅长: C\/C++ VC++ 数学 其他...

质数合数什么的老是混,高人帮我总结下
说起质数就少不了哥德巴赫猜想,即著名的“1+1”。哥德巴赫猜想 :(Goldbach Conjecture) 内容为“所有的不小于6的偶数,都可以表示为两个奇素数之和”和“每个不小于9的奇数都可以表示为三个奇素数之和”。 这个问题是德国数学家哥德巴赫(C.Goldbach,1690-1764)于1742年6月7日在给大数学家欧拉的信中提出的,...

小学数学顺口溜大全,太好记了!瞬间帮孩子记住重点公式和定理!_百度...
表示位置有绝招,一组数据把位标。左数为列右为行,列先行后不能调 1和所有数;相邻两个数;两质必互质。大数是质数,两数定互质。小数是质数,大数不倍数。分数乘整数,计算很简单;分子乘整数,分母不用变;计算想简便,约分要在先;结果想要准,分数化最简。分数四则混合算,运算顺序记心间。

有没有遇到过一些感觉一辈子都不能理解的人或事?
所谓“9+9”,翻译成数学语言就是:“任何一个足够大的偶数,都可以表示成其它两个数之和,而这两个数中的每个数,都是9个奇质数之积。” 从这个“9+9”开始,全世界的数学家集中力量“缩小包围圈”,当然最后的目标就是“1+1”了。1924年,德国数学家雷德马赫证明了定理“7+7”。很快,“6...

相似回答