csharp进阶练习题:在素数的步骤【难度:2级】:
素数不经常间隔.例如,从2
到3
步骤是1
.
从3
到5
步骤是2
.从7
到11
是4
.
2-50,我们有以下对2步骤素数:
3,5 - 5,7, - 11,13, - 17,19, - 29,31, - 41,43
我们将编写一个函数step
与参数:
-
g
(整数> = 2),其指示我们寻找步骤中, -
M
(整数> = 2),这也是搜索的开始(米含), -
N
(整数> = M),这也是搜索结束(n以下)
另外,在上述步骤的例子(2,2,50)
将返回[3,5]
在2和50之间的第一对用2步骤.
所以这个功能应该返回** ** 第一与对g
的步骤间隔两个素数
极限M
,N
之间如果这些克步骤素数存在否则nil
或null
或None
或Nothing
或[]
或"0,0"
或{ 0,0}
(取决于语言).
例子:
步骤(2,5,7) - > [5,7]或(5,7)或{5,7}或 "5 7"
步骤(2,5,5) - >零或...或[] OCaml中或{0,0}在C ++
工序(4,130,200) - > [163,167]或(163,167)或{163,167}
-
** 查看更多的例子在"RUN"你的语言**
-
备注:
([193,197]也是这样的2-步骤130和200之间素数,但它不是在第一对).
步骤(6,100,110) - > [101,107]
虽然有101和107,其是103之间的素数;该对101-103是一个两步骤.
笔记:
“一步"的想法是接近的"差距”,但它是不完全一样的.对于那些有兴趣,他们可以去看看
在.
A"间隙"是更严格的:必须有在之间不存在素数
(101-107是"步骤",而不是一个"间隙".接下来习题将为约"间隙" ?.
对于围棋:当有m和n之间没有step
零片的预期.
例如:步骤(2,4900,4919) - >零
编程目标:
class StepInPrimes
{
public static long[] Step(int g, long m, long n)
{
// your code
}
}
测试样例:
using System;
using NUnit.Framework;
[TestFixture]
public static class StepInPrimesTests {
[Test]
public static void test1() {
Assert.AreEqual(new int[] {101, 103}, StepInPrimes.Step(2,,110));
.( [] {, }, .(,,110));
.( [] {, }, .(,,110));
Assert.AreEqual(new int[] {359, 367}, StepInPrimes.Step(8,300,400));
Assert.AreEqual(new int[] {307, 317}, StepInPrimes.Step(10,300,400));
}
}
最佳答案(多种解法):
点击查看答案
更多关联题目:
免责申明
本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/steps-in-primes
更多推荐
csharp进阶练习题:在素数的步骤【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练
发布评论