java 生成160bit素数_输出10000以内的第M到第N个素数(Eclipse gcc下)

偶然发现网易公开课的在线课程居然有测试,兴致大发随手做了几个,结果尼玛,一段时间不接触了手生了,测试平台采用的是gcc gcj,这让我很无语啊,gcj提交老是报错,始终无法解决,为了一劳永逸,搞了个Eclipse+CDT+MinGW搞起了gcc5faad8d6bdeb51de8316feeab08da8bb.png

各种bug有木有,各种错误有木有,,,,╮(╯▽╰)╭半天就这样没了,不过最终发现了解决方法!!!

Eclipse gcc

开发 建议:新建工程一定要确定是否勾选gcc,如图所示:

51d5f66424e3868ef48be404a9a596d8.png

一个工程里面,必建一个src资源文件夹;

xxx.c文件放在其中,且只能放一个,不然报错跟java有所不同;

严格遵守gcc规范,以防止出现不必要的错误;

每次编辑.c文件后可以手动清除生成的 Debug 和Release 文件夹,使用相关命令重新编译;

也可以后用Ctrl+B 全部编译,或者直接用Ctrl+F11运行当前项目文件(编译带执行,如果有错误按照上述步骤操作)。

下面是一个Online Course 的 作业题, WIN7 32bit +Eclipse gcc 编写!

令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。

输入格式:

输入    在一行中给出M和N,其间以空格分隔。

输出格式:

输出    从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。

输入样例:

5 27

输出样例:11 13 17 19 23 29 31 37 41 43

47 53 59 61 67 71 73 79 83 89

97 101 103

Code:#include

#include

int main() {

void prime_num(int start, int end) {

if (start <= end && end <= pow(10, 4)) {

int i = 2;

int count = 0, col = 0;

int flag = 0;

for (;; i++) {

int j = 2;

for (; j <= sqrt(i); j++) {

if (i % j == 0) {

flag = 1;

break;

}

}

if (flag) {

flag = 0;

continue;

}

count++;

if (count >= start && count <= end - 1) {

if (++col % 10 == 0) {

printf("%d\n", i);

} else {

printf("%d ", i);

}

}

if (count == end) {

printf("%d", i);

break;

}

}

}

}

int M, N;

scanf("%d %d", &M, &N);

prime_num(M, N);

return 0;

}input:

2 30output:

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 107 109 113

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值