csharp高级练习题:Emirps【难度:3级】:

如果颠倒单词"反素数",您将有字的"地王".这个想法与此习题的目的有关的:我们应该选择所有反转时是** ** 不同素(所以回文质数应该被丢弃)的素数.

例如:如图13所示,17是素数,分别反转为31,71,其也素数,所以13和17都是"emirps".
但素数757,787,797是回文质数,这意味着反向号码是和原来一样,所以他们不被视为"emirps",应该被丢弃.

所述emirps序列被登记在作为OEIS A006567

你的任务

创建接收一个参数N,作为上限的功能,并且返回以下数组:

[number_of_emirps_below_n,largest_emirp_below_n,sum_of_emirps_below_n]

例子

find_emirp(10)
[0,0,0] '' ' '低于10没有emirps''

find_emirp(50)
[4,37,98] ''"有4个emirps低于50:13,17,31,37;最大= 37;总和= 98 ''"

find_emirp(100)
[8,97,418] ''"有8个emirps低于100:13,17,31,37,71,73,79,97;最大= 97;总和= 418 ''"

编码愉快!

提醒:不要使用素性测试.它会让你的代码非常缓慢.创建使用黄金发电机或范围素生产的一组素数.记得在一组搜索速度更快,在排序列表或数组

编程目标:

public class Emirps {
  public static long[] FindEmirp(long n)
  {
      // your code
  }
}


测试样例:

using System;
using NUnit.Framework;
[TestFixture]
public static class EmirpsTests 
{
    private static string Array2String( long[] list )
    {
        return "[" + string.Join(", ", list) + "]";
    private static void testing(string actual, string expected) 
    {
        Assert.AreEqual(expected, actual);
    }
    public static void tests(long[] list1, long[][] results)
    {
        for (int i = 0; i 
  
## 最佳答案(多种解法):
[点击查看答案](http://dd.ma/HAyjsYEw)
 


## 更多关联题目:














## 免责申明

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

更多推荐

csharp高级练习题:Emirps【难度:3级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练