解决方案 »
- 未经处理的异常: System.InvalidCastException: 无法将类型为“System.Net.Sockets.O verlappedAsyn
- 如何实现退出再进入仍回到之前页面?
- c#中命名空间命名是不是自定义
- 生成静态页
- 同一个解决方案中建立了两个项目A和B,在A中存放有主窗体,B中存放子窗体,在A中的主窗体打开B中的子窗体,我现在需要在打开的子窗体中去操作主窗体,不知如何做?
- 把空字符串或DBNull.value.tostring()类型插入到数据库中为什么都变成了1900-1-1了啊?
- winform中如何得到弹出对话框中的内容...
- 动态产生 picturebox
- 用c#.net做論壇
- 簡單的For語句問題
- 大家一起来答面试题~~
- 请问怎样实现自定义类的位置属性
using System;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(getValue("1-2+3-4+5-6+7-8+9"));
Console.Read();
} static int getValue(string p)
{
var index = p.LastIndexOfAny(new[] {'-', '+'});
if (index == -1)
{
return int.Parse(p);
} return getValue(p.Substring(0, index)) + int.Parse(p.Substring(index));
}
}
}
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("The value is {0}", Calc(9));
} static int Calc(int val)
{
if (val == 1) return 1;
return Calc(val - 1) + val * ((val & 1) * 2 - 1);
}
}
}
1-2=-1
3-4=-1
5-6= -1
。
n-(n-1)=-1;
//以上n 为奇数
//偶数自己去想一下
剩下的应该会了吧
...
Console.WriteLine("The value is {0}", TailRecursionSum(9));
... static int TailRecursionSum(int val, int current=1, int sign=1, int sum=0)
{
if (current > val)
return sum;
return TailRecursionSum(val, current + 1, -sign, sum + current * sign);
}