给大家练练手,题目如下
例如:
S(3) 表示 3*3=9
S(230) 表示 2*2+3*3+0*0=13
S(34) 表示 3*3+4*4=25
下面是范例:
************************
S(37)=3*3+7*7=58.
S(58)=5*5+8*8=89.
S(89)=145.
S(145)=42.
S(42)=20.
S(20)=4.
S(4)=16.
则表示 →表示输入16 输出37
S(7)=49.
S(49)=97.
S(97)=130.
S(130)=10.
则表示 →表示输入10 输出7
请注意:1.输出的数是最小的
2.这个顺序将重复计算,只要找到输入的数就可以停止。
请大家踊跃回答
------解决方案--------------------C# code
int S(int y)
{
return y.ToString().Select(x => Convert.ToInt32(x) * Convert.ToInt32(x)).Sum();
}
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------