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) - >零