2011英特尔线程挑战赛又开始了!

ozar1155 2011-05-12 02:08:38
加精
参加了入门级的第一题,觉得还有点意思,今天发现第二题也开放了,发给兄弟们看看,回头整理整理把第一题发上来欢迎大家批评指教,互相切磋。


连续质数求和

一对连续质数是指中间没有其他质数的两个质数。 连续质数的概念可以扩展至任意数量“ k”,其中在有序质数集的最小质数和最大质数之间(包括其本身)只有 k 个质数。我们将这个质数集称为“k-对”。两个分别由 3 个连续质数组成的集合示例为:[29, 31, 37] 和 [11083, 11087, 11093]。

问题描述:
编写一段多线程代码,对所有可能的“k-对”连续质数集求和,并确定所求和是否为完全幂。 例如,假设 p1、p2 和 p3 是连续质数,那么这些质数的和为 N (=p1 + p2 + p3)。 如果 N = n^m,其中 n、m >= 2(即 N 为完全平方、完全立方等),则数值 N 为完全幂。 将从命令行提供此程序的输入内容,其中包括从中选择质数进行相加的数字范围以及此程序需要考虑的最高指数 (m)。 此程序将输出相加结果为完全幂值的连续质数集。

输入描述:
将从命令行上提供三个整数作为此程序的输入。 第一个整数和第二个整数表示数字范围的起始和终止值(包括其本身),必须使用此范围内的质数。 第三个命令行参数为最大幂值 m,此程序必须使用它来计算完全幂。 输入值将用 32 位的无符号整数表示。命令行上的第四个参数将是储存输出结果的文本文件的名称。

输出描述:
此程序将输出一列连续质数以及作为这些质数和的完全幂。 为了缩短输出内容,只需打印连续质数的第一个和最后一个质数。 必须打印求得的和以及判断该和为完全幂的算式。 此程序的输出结果将储存在命令行的第四个参数所指定的文本文件中。 如果没有等于完全幂的连续质数和(在输入数字范围内),则应该在输出文件中写入一条消息说明这种情况。

命令行示例: primesums.exe 1 29 6 sumsout.txt

输出文件示例,sumsout.txt:

sum(3:5) = 8 = 2**3
sum(17:19) = 36 = 6**2
sum(2:23) = 100 = 10**2
sum(13:19) = 49 = 7**2
sum(5:13) = 36 = 6**2

计时:
将使用此程序的总执行时间进行计分。为得到最准确的计时结果,所提交的代码需要包含计时代码并将计算出的总执行时间打印到标准输出,否则将使用外部秒表计时。


该问题在6月3号关闭,有兴趣的可以试试,呵呵。详细情况还可以查询网站:http://g.csdn.net/5183618
...全文
1809 106 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
106 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuqangy 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 86 楼 litaoye 的回复:]
题目有问题呀,比如4999 - 6491,和为1000000,应该算10^6?100^3?1000^2?
[/Quote]

都可以,即1000000被定为完全幂。


查找质数的部分完成了, 关键是找到这个完全幂,没有啥好的思路 。。。 郁闷中
埋bug的明叔 2011-05-21
  • 打赏
  • 举报
回复
。。。连接打不开了。。
garbun 2011-05-19
  • 打赏
  • 举报
回复
逛了一下午的intel官网..木有找到学习的入口...汗...想学多线程...
jiangjubo 2011-05-18
  • 打赏
  • 举报
回复
看看啊,支持下咯
lkw5657 2011-05-18
  • 打赏
  • 举报
回复
看看啊,支持下咯
liuying5162471 2011-05-17
  • 打赏
  • 举报
回复
看看啊,支持下咯
wan01234 2011-05-17
  • 打赏
  • 举报
回复
很好,在哪里举行啊?
stonemqy 2011-05-17
  • 打赏
  • 举报
回复
不错
busytrade2 2011-05-16
  • 打赏
  • 举报
回复
此贴必火,先占位支持了,谢谢分享
顶起











http://china.busytrade.com/top.html
LIUDONG_150270 2011-05-16
  • 打赏
  • 举报
回复
厉害!
_Rainbow 2011-05-16
  • 打赏
  • 举报
回复
去看看、。
spent34 2011-05-16
  • 打赏
  • 举报
回复
很有趣,相见恨晚
chenghuzhao 2011-05-15
  • 打赏
  • 举报
回复
好的 我去瞎子啊
chenghuzhao 2011-05-15
  • 打赏
  • 举报
回复
都有什么呢
chenghuzhao 2011-05-15
  • 打赏
  • 举报
回复
有意识
绿色夹克衫 2011-05-15
  • 打赏
  • 举报
回复
题目有问题呀,比如4999 - 6491,和为1000000,应该算10^6?100^3?1000^2?
yuyo555 2011-05-15
  • 打赏
  • 举报
回复
有点意思
wxglory 2011-05-15
  • 打赏
  • 举报
回复
有意思,还有这个~~
lmc158 2011-05-15
  • 打赏
  • 举报
回复
输出文件示例,sumsout.txt:

sum(3:5) = 8 = 2**3
sum(17:19) = 36 = 6**2
sum(2:23) = 100 = 10**2
sum(13:19) = 49 = 7**2
sum(5:13) = 36 = 6**2
Nicho 2011-05-15
  • 打赏
  • 举报
回复
路过 看看大神
加载更多回复(46)

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧