c语言-求1到100的素数的C语代码 有多少种写多少种

问题描述

求1到100的素数的C语代码 有多少种写多少种

求1到100的素数的C语言循环代码有多少种写多少种
求1到100的素数的C语言循环代码有多少种写多少种

解决方案

 # include <stdio.h>
# include <math.h>
int main()
{ int i, j, c; c = 0; for (i = 100; i <= 200; i++)
{ c = 0; for (j = 2; j < sqrt(i); j++) { if (i%j == 0) c = 1; break; }
if (c == 0)printf("%d是素数", i); } getchar(); return 0;
}

每次循环前要先将c置0

运行结果
101是素数103是素数105是素数107是素数109是素数111是素数113是素数115是素数117是素数119是素数121是素数123是素数125是素数127是素数129是素数131是素数133是素数135是素数137是素数139是素数141是素数143是素数145是素数147是素数149是素数151是素数153是素数155是素数157是素数159是素数161是素数163是素数165是素数167是素数169是素数171是素数173是素数175是素数177是素数179是素数181是素数183是素数185是素数187是素数189是素数191是素数193是素数195是素数197是素数199是素数

解决方案二:

http://blog.csdn.net/liukehua123/article/details/5482854
建议你自己读一遍基础的内容吧。

解决方案三:

写程序相当于写作文,不是死记硬背多少种,而是掌握算法和原理,运用自如。一个程序你会写了你可以写出无数的写法。当然,你应该选择简单、高效、易读的方式去写。

解决方案四:

#include
int main()
{
int i;
int j;
int c = 0;
for (j = 1; j < 100; j++)
{
c = 0;
for (i = 2; i < j; i++)
{
if (j%i == 0)
{
c = 1;
break;
}
}
if (c = 0)
{
printf("%d is su shun", j);
}
}
return 0;
}

解决方案五:

if (c = 0)
c == 0
之前好像纠正你了,又错了。

解决方案六:

另外,1不是素数。
程序有些地方可以优化,比如
for (i = 2; i < j; i++)
这里循环到j<j/2就够了

另外,还可以用一个数组记录已经找到的素数。
不需要每个都判断,只要判断这个素数表中的素数就可以了。因为不能被素数整除,必然不能被它们的积整除。

除了穷举,还有筛选法也可以求素数,具体google

解决方案七:

include

include

int main()
{
int i, j, c;
c = 0;
for (i = 100; i <= 200; i++)
{
for (j = 2; j < sqrt(i); j++)
{
if (i%j == 0)

                c = 1;
            break;
        }
        if (c == 0)printf("%d是素数", i);
    }
getchar();
return 0;

}

解决方案八:

另外一个帖子问一个问题,记得及时采纳。

时间: 2024-09-17 04:13:50

c语言-求1到100的素数的C语代码 有多少种写多少种的相关文章

c语言-C语言求素数算法,有几种方法可以降低时间复杂度

问题描述 C语言求素数算法,有几种方法可以降低时间复杂度 b可以非常大的时候,输出a到b之间素数的个数,怎么才能简化算法,降低运行时间 解决方案 采用列表法,每次找到新的素数,添加到表中.每次寻找素数,不用每个数字都尝试一次,而只要尝试小于这个数字的1/2的所有素数就可以了. 解决方案二: 具体做法 http://blog.csdn.net/liukehua123/article/details/5482854 解决方案三: 不需要b的1/2,只需要判断到b的根号2 解决方案四: http://

c语言-C语言求素数一个小问题

问题描述 C语言求素数一个小问题 题目是要求n以内素数的平方根的和,编好了之后怎么运行答案都不对,加了这句选中的语句才对了,请问这句if(j>=k+1)有什么用?在上面一个for循环中j应该是到不了k+1的吧--求详解 解决方案 你的程序写的不好,没有用缩进和正确的换行,结果是自找麻烦,你自己都搞不清楚for和什么语句配对了. 这里有两重循环,外循环是从3~n找素数,内侧是判断i是不是素数 if (k >= i+1)表示,循环走完了,k才会等于i+1,而循环如果提前break表示它可以被整除,

c语言-C语言求一个年份是否是闰年

问题描述 C语言求一个年份是否是闰年 输入一个整形数表示年份,如果是闰年输出"闰年",否则输出"平年",要考虑年份被100整除但是不能被400整除的情形 解决方案 #include<stdio.h> int main() { int year,result; scanf("%d",&year); if( year%4 == 0 && year % 100 != 0 || year % 400 == 0 ) re

编程-随机生成10个100位素数

问题描述 随机生成10个100位素数 最近在学RSA的东西,这道题难住了我.跪求一份源代码.谢谢了.C/C++等等都可以. 解决方案 #include #include #include #define RANGE 100int IsPrime(int i); void main(){ int iPrime = 0; while(1) { srand((unsigned)time(NULL));iPrime = rand()%RANGE; //得到随机数 if(IsPrime(iPrime))

c语言-C语言 求大神能不能给每一段做注释

问题描述 C语言 求大神能不能给每一段做注释 for(i=0;i<l1;) { k=0; f=1; while(f) { if(*(strSource+i+k)!=*(strLin+k)) f=0; else f=f+1; k++; if(f==l2+1) { t++; f=0; printf("位置为:%dn",i); } } i+=k; } 解决方案 典型的代码不全,无法注释! 让别人注释,你最好是能先说明一下这段代码实现了什么功能.每个变量要能找到定义,和初始化的地方吧.

指针-C语言 求大神拯救

问题描述 C语言 求大神拯救 根据下列要求,完成程序 1从键盘输入一个三位数整数,并输出该整数,同时输出该三位整数的每一位数字 2写一个函数,判断该三位整数是否为水仙花数 3以该整数的三位数字作为一元二次方程的系数,求该一元二次方程的根 4定义该整形数组,包含十个数据,把该整数的三位数字.依次放入该数组的最前三位,并把数组内容补充完整.并对该数组进行排序,分别输出该数组排序前和排序后的顺序 5对4中做好的数组进行排序(算法不和4相同)输出.(限用指针实现) 解决方案 153 153, 1 5 3

c语言-C语言求大家解答,怎么改都出错

问题描述 C语言求大家解答,怎么改都出错 #include #include #define MONTHS 12 int main() { int years,month,ret,day,a,math=0; printf("Input:"); int days[2][MONTHS]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}}; ret=scanf("%d/%d/%d

详解C语言求两个数的最大公约数及最小公倍数的方法_C 语言

求两个正整数的最大公约数       思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y), f(x, y) = f(y, x - y) (x >=y > 0).根据通式写出算法不难,这里就不给出了.这里给出<编程之美>上的算法,主要是为了减少迭代的次数.      对于x和y,如果y = k * y1, x= k * x1,那么f(x, y) = k * f(x1, y1).另外,如果x = p * x1,假

Python实现求最大公约数及判断素数的方法

  本文实例讲述了Python实现求最大公约数及判断素数的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/env python def showMaxFactor(num): count = num / 2 while count > 1: if num % count == 0: print 'largest factor of %d is %d' % (num, count) break #break跳出时会跳出