导航:首页 > 源码编译 > 求素数的算法

求素数的算法

发布时间:2022-01-12 05:06:29

㈠ c语言 求素数的算法!!!(要更快点的方法)

10000以内的素数:
#include <stdio.h>
main()
{
int n,i;
for(n=3;n<=10000;n++)
{
for(i=2;i<n;i++)
if(n%i==0) break;
if(i>=n)
printf("%d,",n);
}
}

㈡ 计算机C语言求素数算法,

这个有很多种

  1. 常用的 判断除以2.,除以。。。。。 这适用于判断具体的某个数组

  2. 剔除法 除以2的时候 把2的倍数全部剔除 以此类推。。。 这适合求多个

  3. 已有查找法,用文件数组保存一些素数,为方便使用直接查找 这个属于取巧类型严格不算算法

  4. 还有其他比较高级一些的算法这个可以具体找找

㈢ 实现用于计算素数的算法

#include <stdio.h>
void main()
{
int num[10] = {2,3,4,5,6,7,8,9,10,11};
int *temp = num; // 用于临时存放素数
int j=0;

for(int i=0;i<10;i++)
{
if(num[i]%2 != 0 )
{
*temp++ = num[i];// 不是2的倍数,就放入temp中
j++; // 用于记录素数的个数,以便之后的循环使用
}
}
for(int i=0;i<j;i++)
{
printf("%d\n",temp[i]);// 输出所有素数
}

}

㈣ 求100以内的素数的算法

谈不上算法:

#include<iostream>
using namespace std;
int main()
{
int a,b,c,ipt;
for (c=1;c>0;c++)
{
do
{
cout<<"请输入你所想要的大于一的素数范围:";
cin>>ipt;
} while (ipt<=1);

for (a=2;a<=ipt;a++)
{
for (b=2;b<=a;b++)
{
if (a%b==0)
{
break;
}
}
if (a==b)
{
cout<<a<<"\t";
}
}
cout<<endl;
}
return 0;
}

㈤ C++求素数的算法

#include<iostream.h>
void main()
{
int i,j;
cout<<"输出100以内的素数"<<endl;
cout<<"100内的素数为"<<endl;
for(i=1;i<=100;i++)
{for(j=2;j<i;j++)
{if(i%j==0)
break; }
if(i==j)
cout<<" "<<i;}
}
素数的范围通过修改100就行了

㈥ c语言素数的算法

思路如下:
1、求2-n之间的所有素数
2、创建一个数组a[n+2],其下表为2...n+1
3、数组的功能是记录那些数十素数,其下标表示素数,元素初始化时全为1,表示全部数假设都是素数
4、从2开始往后访问数组的每一个元素,如果这个数十素数就输出,否则往后遍历
5、遍历的同时如果这个数i是素数,则进一步往后将这个数的倍数2*i,3*i,....将这些数都标记为0表示不是素数 6、执行完毕将输出所有素数了

㈦ 求素数的最简便的算法程序

S1:定义2个变量N
R

S2:N=1

S3:输入的数被N整除
余数为r

S4:R=0则
输入的数不为素数
结束

S5:R!=0
N=N+1
TO
S3

S6:N<输入的数
输入的数为素数

㈧ C语言语句如何实现计算素数的算法

从2到Sqrt(这个数)去除这个数,如果有任何一个除得开就不是,否则就继续做

㈨ 一个求素数的算法

t从0到cap^2-1
i从0到cap-1
j从0到i
实际上这里cap起的作用仅仅为了使i和j满足:i从0到cap-1,j从0到i
实际上composite为j从2到i-1时整除i的个数
当j=0时,使composite重置为0
当j=i时,开始判断
每次j能整除i,composite则增加1,到时就不会输出i
当2到i-1的j都不整除i,此时i为素数,composite为0,可以将其输出

希望你能看明白
不懂的话
还可以问的
一般晚上十点我都有空

㈩ 素数的计算,简单啊

/*看完求助,我只能无语啦。
这题目是简单的,你的循环的初始值错误,而且代码效率较低,我这个可能较高。并且,你的代码风格改改了。
*/
#include <math.h>
#incle <stdio.h>

int main()
{
int num;
scanf("%d", &num);

int i, j, jj, count;
for(i = 2; i <= num; ++i)
{
count = 0;
jj = (int)sqrt(i);
for(j =2; j <= jj; ++j)
{
if(i % j == 0 )
{
count ++;
break;
}
}
if(count == 0)
{
printf("%4d", i);
}
}

return 0;
}

阅读全文

与求素数的算法相关的资料

热点内容
android图片变灰 浏览:268
linuxvi下一个 浏览:975
安卓手机的应用锁怎么解 浏览:735
linux增加路径 浏览:849
sql身份证号最后四位加密 浏览:533
xp系统表格加密 浏览:856
光遇安卓军大衣什么时候上线 浏览:840
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:15
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:825
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246