点滴积累【C#】---1、1、2、3、5、8、13、21....计算第30位(递归)!
Question:用递归计算1、1、2、3、5、8、13、21....第30位!
效果:
代码:
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 if (tb1.Text != "" && tb1.Text != null) 4 { 5 if (!Isnum(tb1.Text)) 6 { 7 Response.Write("<script type='text/javascript'>alert('请输入数字');</script>"); 8 } 9 else 10 { 11 int a = Convert.ToInt32(tb1.Text); 12 tb2.Text = Convert.ToString(Foo(a)); 13 } 14 } 15 else 16 { 17 Response.Write("<script type='text/javascript'>alert('不能为空');</script>"); 18 } 19 } 20 public static int Foo(int i) 21 { 22 if (i < 0) 23 { 24 return 0; 25 } 26 else if (i > 0 && i <= 2) 27 { 28 return 1; 29 } 30 else 31 { 32 return Foo(i - 1) + Foo(i - 2); 33 } 34 } 35 public static bool Isnum(string s) 36 { 37 string pattern = @"^\d*$"; 38 return Regex.IsMatch(s, pattern); 39 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步