24小时热门版块排行榜    

查看: 4062  |  回复: 20
本帖产生 6 个 程序强帖 ,点击这里进行查看

holmescn

金虫 (正式写手)

★ ★ ★
余泽成(金币+3): 辛苦了! 2011-05-13 21:15:09
根据huycwork的算法思想写出matlab程序:
CODE:
tic;
primes = [2 3 5 7 11 13 17 19];
result = 1;
for i = 1:length(primes)
    while primes(i)^2 < 20
        primes(i) = primes(i)^2;
    end
    result = result * primes(i);
end
disp(num2str(result));
toc

11楼2011-05-13 20:44:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hyde841008

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 鼓励讨论! 2011-05-13 21:15:28
我不会编程,这样算的,
7*11*13*17*19*2*3*2*5*2*3*2=232792560
12楼2011-05-13 20:51:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+1): 介个…… 2011-05-14 19:31:40
哈哈,分析加程序,那就简单死了
还是matlab的,基于上面诸位的分析,
整除1-20,其实就是1-20的最小公倍数,计算时可以精简:
1-20只需要求[2,3,4,5,6,7,11,13,17,19]的最小公倍数即可
其余的
1不用计算
8 = 2*4
9 = 3*3(第二个3来自6=2*3)
10 = 2*5
12 = 3*4
14 = 2*7
16 = 2*8
18 = 2*9 = 2*3*3(第二个3来自6=2*3)
20 = 2*10 = 2*5*2(第二个2来自4=2*2)
CODE:
tic;disp(prod([2,3,4,5,6,7,11,13,17,19]));toc;
   232792560
Elapsed time is 0.000012 seconds.

[ Last edited by libralibra on 2011-5-14 at 01:08 ]
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
13楼2011-05-13 21:20:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想: 这样可不好…… 2011-05-14 19:32:24
俺也要给出Perl的超简版的:
CODE:
/usr/bin/perl
print "result is:", 232792560, "\n";

漩涡的中心有一块空地,空空的。
14楼2011-05-13 21:35:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hongjq

银虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 鼓励交流!算法实现就是为了实现笔算复杂的情况,这里只是用简单例子来描述问题。 2011-05-24 12:42:04
为什么要编程啊,直接笔算不就可以了。

在2520基础上,乘上11-20的质数,有11,13,17,19.
因为这儿还有个16,而2520只够 除8,所以再乘以2.
答案就是
2520*11*13*17*19*2=232792560
15楼2011-05-24 11:57:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guoqiang

银虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖
编程哦,看不懂。
学习,学习,再学习。
16楼2011-05-25 22:52:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

游子归心

铁杆木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
Originally posted by huycwork at 2011-05-13 19:58:36:
我觉得三层循环还是多了,两层循环就可以
第一步是分离数表,将质数和非质数分离,质数不超过lgn个,所以可以在O(lgn)时间内解决
第二步是从质数表中,进行叠乘运算,找出所能叠到的最大值。这么做的原因是, ...

就是嘛,多简单的问题,为什么要程序呀,手算挺快的
17楼2011-05-28 20:49:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


余泽成(金币+1): 鼓励交流! 2011-06-02 00:17:02
引用回帖:
Originally posted by hongjq at 2011-05-24 11:57:14:
为什么要编程啊,直接笔算不就可以了。

在2520基础上,乘上11-20的质数,有11,13,17,19.
因为这儿还有个16,而2520只够 除8,所以再乘以2.
答案就是
2520*11*13*17*19*2=232792560

分析问题要完整,也就是要从不知道结果的那些条件出发。


为什么要乘以11-20中所有的质数。为什么乘2等等。如果要用数学,就要从数学上严格地进行证明。
18楼2011-05-28 21:30:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

引用回帖:
Originally posted by 游子归心 at 2011-05-28 20:49:08:
就是嘛,多简单的问题,为什么要程序呀,手算挺快的

计算也许不慢,但请说明为什么这样算。
19楼2011-05-28 21:31:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maslhevttc

金虫 (知名作家)


小木虫(金币+0.5):给个红包,谢谢回帖
一点也不懂得  路过

晕一把...
昌黎是个好地方
20楼2011-05-31 13:31:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 holmescn 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见