c#求范围内素数的示例分享(c#求素数)

C#求范围内素数的完整攻略

1. 实现思路

  • 定义一个方法bool IsPrime(int n)用于判断是否为素数
  • 遍历2到n-1,如果能整除n则不是素数,否则是素数
  • 定义一个方法List<int> GetPrimes(int start, int end)用于获取指定范围内的素数列表
  • 遍历start到end,如果该数是素数则添加到列表中
  • 注意:如果start小于2,则从2开始遍历

2. 示例说明

示例1:获取1到100内的所有素数

int start = 1;
int end = 100;
List<int> primes = GetPrimes(start, end);
foreach(int p in primes)
{
    Console.Write(p + " ");
}

输出结果:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

示例2:获取1001到1100内的所有素数

int start = 1001;
int end = 1100;
List<int> primes = GetPrimes(start, end);
foreach(int p in primes)
{
    Console.Write(p + " ");
}

输出结果:

1009 1013 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069 1087 1091 1093 1097

3. 代码实现

using System;
using System.Collections.Generic;

class Program
{
    static bool IsPrime(int n)
    {
        for(int i = 2; i <= (int)Math.Sqrt(n); i++)
        {
            if(n % i == 0)
                return false;
        }
        return true;
    }

    static List<int> GetPrimes(int start, int end)
    {
        List<int> primes = new List<int>();
        if(start < 2)
            start = 2;
        for(int i = start; i <= end; i++)
        {
            if(IsPrime(i))
            {
                primes.Add(i);
            }
        }
        return primes;
    }

    static void Main(string[] args)
    {
        int start = 1;
        int end = 100;
        List<int> primes = GetPrimes(start, end);
        foreach(int p in primes)
        {
            Console.Write(p + " ");
        }
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#求范围内素数的示例分享(c#求素数) - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • C#多线程Singleton(单件)模式模板

    C#多线程Singleton(单件)模式模板是一种在多线程环境下保证对象只被创建一次并且可以被多线程共享的设计模式。下面我将提供一个完整的攻略来帮助大家了解如何在C#中实现多线程Singleton模式。 步骤一: 创建Singleton模板类 创建一个Singleton模板类,确保只有一个实例可以被创建。示例代码如下: public sealed class…

    C# 2023年5月31日
    00
  • C#实现Dictionary字典赋值的方法

    当我们需要在C#中使用字典Dictionary进行数据存储时,需要对字典进行赋值。本文将详细介绍C#实现Dictionary字典赋值的方法。 一、字典Dictionary的基本概念 字典Dictionary是C#中一种非常常用的数据结构,它可以让我们轻松实现关键字与值之间的映射,可以存储任意类型的键值对,并且可以根据Key进行索引。 在C#中,我们可以使用泛…

    C# 2023年5月15日
    00
  • AOP从静态代理到动态代理(Emit实现)详解

    AOP从静态代理到动态代理(Emit实现)详解 概述 AOP(面向切面编程)是一种程序设计思想,可以在不改变原有代码逻辑的情况下,通过在程序中动态地新增一些逻辑代码,来实现例如日志记录、权限控制、性能监测等功能。而在 AOP 中,一个被增强的方法称为“切入点”,对该切入点进行增强的代码称为“切面”。 在实现 AOP 功能时,静态代理和动态代理是两种比较常见的…

    C# 2023年6月6日
    00
  • c#系列 list详情

    C#系列List详情 简介 List是C#中最常见的数据类型之一,它是一个动态可变大小的数组,可以存储任意类型的元素。List的基本操作包括添加、删除、查询、排序等。本文将详细讲解C#系列List的使用方法和注意事项,以帮助读者更好地掌握这一重要概念。 创建List C#中创建List的方法非常简单,只需要使用List类即可。其中,T是List存储数据的数据…

    C# 2023年5月15日
    00
  • C#与.net高级编程 C#的多态介绍

    C#与.NET高级编程——C#的多态介绍 多态概念 多态是面向对象程序设计中的一个重要概念,指的是在一个类的不同实例对象上,相同的方法会产生不同的结果。C#实现多态机制的方式主要有两种:继承和接口。 多态的实现方式 继承多态 继承是C#中实现多态的一种方式。子类继承了父类的方法和属性,并且可以覆盖父类的方法。在调用子类的方法时,可以用父类的对象来调用,此时就…

    C# 2023年5月15日
    00
  • 浅谈c#中config.exe 引发的一些问题

    浅谈c#中config.exe 引发的一些问题 背景 在C#中,config.exe是一个重要的配置文件。一般情况下,config.exe是用于配置程序中的各种参数(例如数据库连接字符串等等)。然而,在实际开发中,我们会发现config.exe可能会引发一些问题,这篇文章就是针对这些问题进行讨论,并提供相应解决方案。 问题 问题1:路径问题 在一些情况下,c…

    C# 2023年6月7日
    00
  • iframe式ajax调用示例

    以下是“iframe式ajax调用示例”的完整攻略,包括什么是iframe式ajax调用、如何实现iframe式ajax调用以及两个示例。 什么是iframe式ajax调用? iframe式ajax调用是一种在网页中使用iframe元素来进行ajax请求的技术。通过使用iframe元素,我们可以在不刷新整个页面的情况下,向服务器发送ajax请求并获取响应结果…

    C# 2023年5月15日
    00
  • C#中Winform 实现Ajax效果自定义按钮

    下面是详细讲解C#中Winform实现Ajax效果自定义按钮的完整攻略: 1. 前置知识 在动手操作之前,需要你已经掌握以下知识: C#语言基础知识 .NET Framework框架基础知识 Winform程序设计和开发基础 对Ajax前端开发技术有一定的了解 2. 实现方式 2.1 自定义按钮样式 Winform默认提供的按钮样式不一定能够满足特定需求。我…

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部