开始提问说错了一个问题,求.NET用阶乘求出1到30的阶乘,不能用平成的FOR循环因为数值较大。

[复制链接]
查看11 | 回复4 | 2011-11-29 22:01:25 | 显示全部楼层 |阅读模式
用DOUBLE吧,这个用循环去乘,放到List里,是可行的List里,这不就是集合吗?结果如下:...
回复

使用道具 举报

千问 | 2011-11-29 22:01:25 | 显示全部楼层
显然,你的老师让你给出1到30的阶乘的所有值(30个)而不是一个值,如有用递归或for的话,会造成资源浪费,因为1的阶乘要算30次,2的阶乘要算29次,解决的方法就是把这些结果保存起来。
long[] lngs = new long[30];
lngs[0] = 1;
for (int i ...
回复

使用道具 举报

千问 | 2011-11-29 22:01:25 | 显示全部楼层
给一个C的版本。.NET应该差得不大。// TTTT.cpp : Defines the entry point for the console application.//#include "stdafx.h"#define MAX_LEN20// 数组的长度#define MAX_INT10000// 每个整数的最大...
回复

使用道具 举报

千问 | 2011-11-29 22:01:25 | 显示全部楼层
int private multiply(int m){
if(m==1)
{
return 1; } else {
return m*multiply(m-1);}}这是递归,虽然也是循环,不知道你说的用集合是怎么做,或者你讲具体一点...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行