Perl 求从1到一个自然数的和(0 位领导批示)

这是小骆驼书上第四章<子程序>的练习题之一.要求用子程序写出..

我做出了两种方法:

1.常规解法.


sub total
{
	$total;
	foreach $tot (@_) {
		$total += $tot;
	}
	return $total;
}

my @fred = 1..10000;
my $fred_total = &total(@fred);

print $fred_total;

数组循环相加..效率很差-_-!

2.等差数列


sub totalnum
{
	$total = (((1+$_[0])*$_[0])/2);
	return $total;
}

print &totalnum(10000);

NOTE: 和等于 1 加上 最大数 然后乘以最大数 最后除 2

我这里是求出1到10000的和.第2种方法明显优于第1种

相关文章

分享到新浪微博 推荐到豆瓣 分享到 Google Reader 加入Google书签 嘀咕一下 分享到饭否 分享到做啥 分享到叽歪 分享到鲜果 加入QQ书签 加入百度搜藏 加入雅虎书签 分享到垦一垦

银子曰:还没有领导题词?

请领导指示

验证码 (必须)

Additional comments powered by BackType

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志