请教最短,最易读的1到100阶乘代码。呵呵自己想了想没算出来哦
class Program
{
int zore = 3; //用于计算有多少个零
static void Main(string[] args)
{
Program p = new Program();
ArrayList al = p.aa();
al=p.bb(p.bb(al));
foreach (long s in al)
{
Console.WriteLine(s);
}
Console.Read();
}
//分解数组
private ArrayList bb(ArrayList al)
{
ArrayList all = new ArrayList();
Console.WriteLine(al.Count);
if (al.Count % 2 == 0)
{
// Console.WriteLine("{0}", al[al.Count / 2]);
all.Add(cc(long.Parse(al[al.Count/2].ToString())));
}
for (int i = 0,j=al.Count-1; i < j;i++,j-- )
{
long sum = long.Parse(al[i].ToString()) * long.Parse(al[j].ToString());
all.Add(cc(sum));
}
return all;
}
//第一次运算,用于取出第一次的零,以及其它数
private ArrayList aa()
{
ArrayList al = new ArrayList();
al.Add(5);
for (int i = 1, j = 99; i < j; i++, j--)
{
long sum = i * j;
al.Add(cc(sum));
}
return al;
} //取零的方法
private long cc(long sum)
{
while (sum % 10 == 0)
{
zore ++;
sum /= 10;
}
return sum;
}
}大家别BS我哈
class Program
{
int zore = 3; //用于计算有多少个零
static void Main(string[] args)
{
Program p = new Program();
ArrayList al = p.aa();
al=p.bb(p.bb(al));
foreach (long s in al)
{
Console.WriteLine(s);
}
Console.Read();
}
//分解数组
private ArrayList bb(ArrayList al)
{
ArrayList all = new ArrayList();
Console.WriteLine(al.Count);
if (al.Count % 2 == 0)
{
// Console.WriteLine("{0}", al[al.Count / 2]);
all.Add(cc(long.Parse(al[al.Count/2].ToString())));
}
for (int i = 0,j=al.Count-1; i < j;i++,j-- )
{
long sum = long.Parse(al[i].ToString()) * long.Parse(al[j].ToString());
all.Add(cc(sum));
}
return all;
}
//第一次运算,用于取出第一次的零,以及其它数
private ArrayList aa()
{
ArrayList al = new ArrayList();
al.Add(5);
for (int i = 1, j = 99; i < j; i++, j--)
{
long sum = i * j;
al.Add(cc(sum));
}
return al;
} //取零的方法
private long cc(long sum)
{
while (sum % 10 == 0)
{
zore ++;
sum /= 10;
}
return sum;
}
}大家别BS我哈
解决方案 »
- c# winform 可以根据数据库表内容动态生成checkbox 控件吗?
- 【help】如何遍历生成这样的字符串{帮顶给分}
- 多线程 进程问题
- 请教高人,.net中如何实现多语言支持?
- 线程调度
- textbox控件显示数值型变量时,如何只保留变量的两位小数.
- C# 读取Excel数据到DataGridView
- 如何判断一个数字是否在一个逗号分隔的字符串中
- 点中一个DataGrid中的Cell后,如何知道它的内容?
- vs2017创建UWP项目时遇到的问题
- 如果在一个DataGridView里面嵌套一个Datagridview?
- 两个完全一样的listview,(lvQuery,LvReady),怎样将第一个中的全部数据复制到第二个中去?
for(int i=1;i<=100;i++)
{
s+=s*i;
}
N久以前做过了,不过程序不在我的这台本本里,呵呵...好像我做的没你这么长,思路也差不多吧,忘了,这种东西最好是在C里写的
这东西多过很多次嘛,现在记不得有什么问题
太大 不知道对不对
double s = 1;
for(int i = 1;i<=100;i++)
{
s += s*1;
}
MessageBox.Show(s.ToString());
只会这种简单的写法
第二,略。
任何兩個整數相乘﹐者可表示成﹕
n0+n1*10^m1+n2*10^m2...nn*10^mn
n0,n1,n2..nn為從右到左﹐固定長度的字符(可設為5位)
m1,m2...mn依次為n1,n2...nn的開始位置
然后依次與1到100類的數相乘(注意﹕相乘后﹐如果超出5位﹐則要將超出的部分加到下一個n上面)