流沙枫 发表于 2013-7-22 15:32:17

c语言质数两种算法有不同么?[已解决]

本帖最后由 流沙枫 于 2013-7-22 19:29 编辑

#include <stdio.h>
#include <math.h>
main()
{
int t,i;

FILE *fp;// 声明一个文件流类型的变量,FILE 为 stdio.h 里定义的
fp=fopen("zs.txt","w"); //用 fopen 函数打开文件,第一个参数表示文件名,若不是当前
                               // 路径请加 \\ 号,如 C:\\Windows\\System32,"w" 表示写(write)
if (fp!=NULL) // 打开成功

// fp 文件流变量,"%d"写入格式,1 是写入的数据


for(t=2;t<=100;t++)
{
for(i=2;i<sqrt(t);i++)
{
if(t%i==0)

break;
}
if(i>sqrt(t))
//printf("%d,",t);

fprintf(fp,"%d,",t);
}
printf("\n");

fclose(fp);
}#include <stdio.h>
#include <math.h>
main()
{
int t,i;

FILE *fp;// 声明一个文件流类型的变量,FILE 为 stdio.h 里定义的
fp=fopen("zs2357.txt","w"); //用 fopen 函数打开文件,第一个参数表示文件名,若不是当前
                               // 路径请加 \\ 号,如 C:\\Windows\\System32,"w" 表示写(write)
if (fp!=NULL) // 打开成功
fprintf(fp,"%s","2,3,5,7,");
// fp 文件流变量,"%d"写入格式,1 是写入的数据

for(i=2;i<100;i++)
{
if(i%2&&i%3&&i%5&&i%7)
//printf("%d,",i);
fprintf(fp,"%d,",i);

}
printf("\n");
return 0;

fclose(fp);
}100内结果相同了,不知道后面会不会有错?

seniors 发表于 2013-7-22 15:41:48

首先这偏了
在者100内sqrt(100)内的质数只有2357,下面的只适用于121以内找质数

流沙枫 发表于 2013-7-22 19:13:18

回复 2# seniors


    谢谢了,只是觉得C语言算法是各编语言基础。
页: [1]
查看完整版本: c语言质数两种算法有不同么?[已解决]