编程语言
首页 > 编程语言> > csharp高级练习题:N寄生数在N中结束【难度:5级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp高级练习题:N寄生数在N中结束【难度:5级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

作者:互联网

csharp高级练习题:N寄生数在N中结束【难度:5级】:

这个挑战是为各种数字基础计算一组特殊的寄生数字.

n寄生数(在基数10中)是一个正自然数,可以通过将其十进制表示的最右边数字移到前面来乘以n.这里n本身是一位数的正自然数.换句话说,十进制表示经历一个正确的循环移位.例如,4•128205 = 512820,因此128205是4寄生的

特殊寄生数

对于一些N,可能存在多个N寄生数.这个Kata关注的是找到一组特殊的n寄生数,其中尾数也是N寄生数中的’N’.在基数10中,上面的维基百科摘录显示128205是4寄生的,因为4•128205 = 512820;然而,这个Kata正在寻找的特殊数字是最小的4寄生数,也以4结尾,即102564:4•102564 = 410256.

澄清反例

似乎很容易错过要求的"以N结尾"部分.虽然5•142857 = 714285,但这个142857的数字是寄生的,但它不是这个kata所寻求的数字,因为它在那个地方以7结尾而不是’n’(这是5 in这个案例).


         对于n = 5,v --- kata要求该数字为5
5•142857 = 714285
             ^ --- kata要求此数字为5,n = 5

虽然产品恰好在一个位置以5结束,但是对于N的要求是在产品上的被乘数而不是.对于n = 5,所寻求的答案远大于142857.

挑战

提供一个接受两个参数的方法:特殊的尾随数字和一个数字基数.您的方法应该返回具有特殊寄生数属性的最小整数的字符串表示,如上所述,在请求的数字基数(八进制,十进制和十六进制)中.每个数字基数将测试除0和1以外的所有尾随数字,给出共有28个测试用例.

为什么最小?

考虑以4结尾的特殊4-parastic HEX数字是104.

 104 Hex•4 = 410 Hex.

重复

 104 

两次并乘以4给我们

 104104 Hex•4 = 410410 Hex 

.无论重复数字组的次数如何,此属性都成立(例如,

 104104十六进制•4 = 410410十六进制,104104104十六进制•4 = 410410410十六进制,104104104104十六进制•4 = 410410410410十六进制,... 

) ,在每种情况下导致无限的这些特殊数字.您的任务是只找到满足特殊寄生特性的最小数字. [这个事实暗示了解决这个问题的一种可能方法.]

提示:

解决之后:

你能找到另外两种算法上不同的方法来解决这个难题吗? javascript,c# 和python中的refrence解决方案以根本不同的方式解决了这个难题.

编程目标:

public static class Kata
{
  public static string CalculateSpecial(int trailingDigit, int numberBase)
  {
    throw new NotImplementedException(); // <-- your code goes here
  }
}


测试样例:

using NUnit.Framework;
using System;
[TestFixture]
public class Test
{
  [TestCase(4, 16, ExpectedResult="104")]
  [TestCase(4, 10, ExpectedResult="102564")]
  public static string SampleTest(int trailingDigit, int numberBase)
    return Kata.CalculateSpecial(trailingDigit, numberBase);
  }
}
14


最佳答案(多种解法):

点击查看答案

更多关联题目:

免责申明

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

标签:练习题,十六进制,特殊,数字,C#,寄生,Kata,kata,难度
来源: https://blog.csdn.net/weixin_45444821/article/details/100640162