-
如何利用C#进行阶乘运算及字符串反转
今天我们来讲一下,以递归方式求阶乘,那么首先来说一下什么是阶乘,即 阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。那么下我们来看一下:
using System;
class UsingRecursive
{
static void Main()
{
int intResult;
string strResult;
UsingRecursive myURec=new UsingRecursive ();
intResult=myURec.DoFactorial (10);
Console.WriteLine ("10的阶乘是:"+intResult);
strResult=myURec.DoStrRev ("This is a test string.");
Console.WriteLine ("字符串反转后为:"+"
"+strResult);
}
int DoFactorial(int pF)
{
int result=0;
if(pF==1)
return 1;
result=DoFactorial(pF-1)*pF;
return result;
}
string DoStrRev(string strTest)
{
if(strTest.Length==1)
return strTest;
string strResult=strTest.Substring (strTest.Length-1,1);
strResult+=DoStrRev(strTest.Substring (0,strTest.Length-1));
return strResult;
}
}
以上是一个阶乘的源码,首先 static void Main() { int intResult; string strResult; UsingRecursive myURec=new UsingRecursive (); intResult=myURec.DoFactorial (10); Console.WriteLine ("10的阶乘是:"+intResult); strResult=myURec.DoStrRev ("This is a test string."); Console.WriteLine ("字符串反转后为:"+" "+strResult); }
处,声明四个变量, int intResult; string strResult; UsingRecursive myURec=new UsingRecursive (); intResult=myURec.DoFactorial (10); 分别用于存储结果和UsingRecursive类(也变是当前类本身)的实例(myURec),接下来调用其DoFactorial方法,这个方法会在后面声明在这里先介绍一下这个方法,即 int DoFactorial(int pF) { int result=0; if(pF==1) return 1; result=DoFactorial(pF-1)*pF; return result; } 这个方法就是用于计算阶乘的部分,这里传递一个参数10,即计算10的阶乘,接下来在
Console.WriteLine ("10的阶乘是:"+intResult);
输出阶乘的内容 strResult=myURec.DoStrRev ("This is a test string."); 这里将如下定的字符串进行反转 接下来在后面 Console.WriteLine ("字符串反转后为:"+" "+strResult); 部分输出。