csharp进阶练习题:k-primes中的步骤【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp进阶练习题:k-primes中的步骤【难度:2级】:

一个自然数被称为** k-prime **,如果它具有恰好k个素数因子,则用多重性计算.

因此,当且仅当它是1-prime时,自然数是素数.


k-primes的例子:
k = 2  - > 4,6,9,10,14,15,21,22 ......
k = 3  - > 8,12,18,20,27,28,30 ......
k = 5  - > 32,48,72,80,108,112,......

k素数不是有规律的间隔.例如:在2到50之间,我们有以下2个素数:

`[4,6,9,10,14,15,21,22,25,26,33,34,35,38,39,46,49]

这个列表的两个k-prime之间的"步骤"是"2,3,1,4,1,6,1,3,1,7,1,1,3,1,7,3".

任务

我们将用参数写一个函数kprimes_step(k,step,start,nd):

  • k(整数> 0)表示我们正在寻找的k-prime的类型,

  • step(整数> 0)表示我们想要在两个k-prime之间找到的step,

  • start(整数> = 0),它给出了搜索的开始(包括开始),

  • nd(整数> =开始),它给出搜索结束(包括nd)

在上面的例子中,kprimes_step(2,2,0,50)将返回[[4,6],[33,35]],它们是2-primes对
2到50之间有2个步骤.

所以这个函数应该返回一个k-prime数的所有对(或元组)的数组,其间隔步长为step
在限制之间start,nd.此数组可以为空.

例子:


kprimes_step(2,2,0,50)=> [[4,6],[33,35]]
kprimes_step(6,14,2133665,2113889)=> [[2113722,2113736]])
kprimes_step(2,10,0,50)=> [[4,14],[15,25],[25,35],[39,49]]
kprimes_step(5,20,0,50)=> []

编程目标:

using System;
using System.Collections.Generic;
using System.Linq;
public class KprimesSteps 
{
    public static List KprimesStep(int k, int step, long , long nd) 
    {
        // your code
    }
}


测试样例:

using System;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
[TestFixture]
public static class KprimesStepsTests 
{
        for (int i = 0; i 
  
## 最佳答案(多种解法):
[点击查看答案](http://dd.ma/xn6FQHgZ)
 


## 更多关联题目:










## 免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
<font color=#eeeeee size=1>题目收集至https://www.codewars.com/</font>   
<font color=#eeeeee size=1>https://www.codewars.com/kata/steps-in-k-primes</font>     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值