csharp进阶练习题:给我一个疯狂的公式!【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp进阶练习题:给我一个疯狂的公式!【难度:2级】:

总结的n所有数字的规则如下:

  • 如果不存在中间位且n> 9:删除最后一个数字;
  • 如果中间位为奇数:减少而不是和它;
  • 如果中间一位和最后一位数字都是不奇怪的:减少的最后一位,而不是总和;
  • 如果中间一位不奇怪,但最后一个数字是:和第一个数字的平方,而不是常规的总和;

必须这样做,直到有只有1个位数.

例:

输入=>结果

5 => 5

214 => 2-1 + 4 = 5

224 => 2 + 2-4 = 0

2224 => 222 => 2 + 2-2 = 2

2234 => 223 => 2 2 + 2 + 3 = 9

编程目标:

namespace CrazyFormula {
  public class Crazy
  {
    public int CrazyFormula(long n)
        {
           //Have fun!
        }
  }
}


测试样例:

namespace CrazyFormula {
  using NUnit.Framework;
  using System;
  [TestFixture]
  public class CrazyTest
  {
    [Test]
    public void CheckFormula()
    {
      Assert.AreEqual(0, crazy.CrazyFormula(224));
      Assert.AreEqual(2, crazy.CrazyFormula(2224));
      Assert.AreEqual(9, crazy.CrazyFormula(2234));
      Assert.AreEqual(8, crazy.CrazyFormula(77633658797932970));
      Assert.AreEqual(6, crazy.CrazyFormula(7852)); 
      }
  }


最佳答案(多种解法):

点击查看答案

更多关联题目:

csharp基础练习题:机场的行程【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp基础练习题:老switcheroo【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp基础练习题:花瓣的下降速度【难度:0级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/give-me-a-crazy-formula

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值