C#基础上机练习题

21.计算500-800区间内素数的个数cn,并按所求素数的值从大到小的顺序排列,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。请编写函数实现程序的要求,把结果cn和sum输出。

22.在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数把结果输出。

23.某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1下列程序的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn<M且Sn+1>=M.

24.求n以内(不包括n)同时能被3和7整数的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出。

25.请编写函数,它的功能是:求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数放在数组a中,并通过n返回这些数的个数

21、我们先进行排序,我们可以直接用系统自带的来打印出来,然后根据控制语句进行判断,之后在进行加减得出结果,代码如下:

    int start = 500;
    int end = 800;
    int sum = 0;
    List<int> primes = new List<int>();

    bool[] isPrime = new bool[end + 1];
    for (int i = 2; i <= end; i++)
    {
        if (!isPrime[i])
        {
            primes.Add(i);
            for (int j = 2 * i; j <= end; j += i)
            {
                isPrime[j] = true;
            }
        }
    }

    // 筛选指定范围内的素数
    primes.RemoveAll(n => n < start);
    // 按从大到小排列
    primes.Reverse();
    foreach (int prime in primes)
    {
        Console.WriteLine(prime);
    }
    for(int i = 0; i < primes.Count; i++)
    {
        // 偶数位置进行减法
        if (i % 2 == 1)
        {
            sum = sum - primes[i]; 

        }
        // 奇数位置进行加法
        if (i % 2 == 0)
        {
            sum = sum + primes[i];

        }
    }
    Console.WriteLine("个数CN:"+ primes.Count);
    Console.WriteLine("总和sum:" + sum);
}

22、这段代码定义了一个FindNumbersWithCondition方法,它使用IsArmstrongNumber函数来检查一个数字是否符合条件,并且将满足条件的数字存入数组中。Main方法中的代码调用了FindNumbersWithCondition方法,并打印出结果。

代码如下

    private static void Main(string[] args)
    {
        int[] numbers = FindNumbersWithCondition(100, 999);   // 自定义查找函数方法
        foreach (int number in numbers)
        {
            Console.WriteLine("符合条件的是"+number);   // 输出结果
        }
    }

    static int[] FindNumbersWithCondition(int start, int end)
    {
        // 条件:数字的每个位上的数字的立方和等于数字本身
        int count = 0;
        for (int i = start; i <= end; i++)
        {
            if (IsArmstrongNumber(i))
            {
                count++;
            }
        }

        int[] armstrongNumbers = new int[count];
        int index = 0;
        for (int i = start; i <= end; i++)
        {
            if (IsArmstrongNumber(i))
            {
                armstrongNumbers[index++] = i;
            }
        }

        return armstrongNumbers;
    }

    static bool IsArmstrongNumber(int number)
    {
        int sum = 0;
        int temp = number;
        int digits = 0;

        while (temp > 0)
        {
            digits++;
            temp /= 10;
        }

        temp = number;
        while (temp > 0)
        {
            int digit = temp % 10;
            sum += (int)Math.Pow(digit, digits);
            temp /= 10;
        }

        return sum == number;
    }
}

23、这个逻辑我们可以这样理解,

我们可以修改这个值得出来对应的值,代码如下:

24、因为是3和7整除,所以是21的公倍数,先求和在进行平方根,代码如下:

Console.WriteLine("请输入是哪些以内的整数");
int res = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 0; i < res; i++)
{
    if (i % 21 == 0)  // 3和7的公倍数
    {
       
        sum = sum + i;

        
    }
}

Console.WriteLine("自然数之和的平方根s:" + Math.Sqrt(sum));

25、自定义一个函数来判断,代码如下:

    public static List<int> GetDivisibleNumbers()
    {
        List<int> divisibleNumbers = new List<int>();

        for (int i = 1; i <= 1000; i++)
        {
            if ((i % 7 == 0 || i % 11 == 0) && !(i % 7 == 0 && i % 11 == 0))   // 能被7或11整除但不能同时被7和11整除的
            {
                divisibleNumbers.Add(i);
            }
        }

        return divisibleNumbers;
    }
}
internal class Program
{

private static void Main(string[] args)
    {
        List<int> numbers = DivisibilityFunction.GetDivisibleNumbers();
        foreach (int number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/61899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】在 STM32 USB 设备库添加新的设备类

说实话&#xff0c;我非常想吐槽 STM32 的 USB device library&#xff0c;总感觉很混乱。 USB Device library architecture 根据架构图&#xff1a; Adding a custom class 如果你想添加新的设备类&#xff0c;必须修改的文件有 usbd_desc.cusbd_conf.cusb_device.c 需要…

conda下载与pip下载的区别

一、conda下载与pip下载的区别 最重要是依赖关系&#xff1a; pip安装包时&#xff0c;尽管也对当前包的依赖做检查&#xff0c;但是并不保证当前环境的所有包的所有依赖关系都同时满足。 当某个环境所安装的包越来越多&#xff0c;产生冲突的可能性就越来越大。conda会检查当…

多头数(head number);d_model、d_k;词嵌入维度之间的关系;多头是对不同维度的特征分开提取,意义在于将并行执行

目录 多头是对不同维度的特征分开提取,意义在于将并行执行 之后的每头提取的特征仅仅进行矩阵拼接 多头数(head number) d_model、d_k 词嵌入维度之间的关系 词嵌入的维度(d_model)决定了权重矩阵的形状 一、概念解释 二、关系举例说明 多头数,权重矩阵的长度和词…

Mac配置maven环境及在IDEA中配置Maven

Mac配置maven环境及在IDEA中配置Maven 1. 介绍 Maven是一款广泛用于Java等JVM语言项目的工具&#xff0c;它以项目对象模型&#xff08;POM&#xff09;为基础进行项目管理&#xff0c;通过POM文件来定义项目信息和依赖关系。同时&#xff0c;它也是构建自动化工具&#xff0…

Qt中2D绘制系统

目录 一、Qt绘制系统 1.1Qt绘制基本概念 1.2 绘制代码举例 1.3画家 1.3.1 QPainter的工作原理&#xff1a; 1.3.2 自定义绘制饼状图&#xff1a; 1.4画笔和画刷 1.4.1画笔 1.4.2 画刷填充样式 1.5 反走样和渐变 1.6绘制设备 1.7坐标变换 1.8QPainterPath 1.9绘制文…

Centos 7 安装 Docker 最新版本

文章目录 一、卸载旧版本二、安装最新版本docker三、问题解决3.1 启动docker报错3.2 启动容器报错 一、卸载旧版本 #如果之前安装过旧版本的Docker&#xff0c;可以使用下面命令卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest …

C++编程:使用 CUDA 将 RGB 图像转换为灰度图的实例

文章目录 0. 引言1. 实现功能概述2. 完整代码3. 代码解释3.1 CUDA 核心逻辑3.2 主机端逻辑3.3 OpenCV 图像处理 4. 编译与运行 0. 引言 本文将以一个简单的例子展示如何使用 CUDA 将 RGB 图像转换为灰度图&#xff0c;并结合 OpenCV 完成图像的加载与保存。 1. 实现功能概述 …

运维Tips:Docker或K8s集群拉取Harbor私有容器镜像仓库配置指南

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Docker与Kubernetes集群拉取Harbor私有容器镜像仓库配置 描述:在现在微服务、云原生的环境下,通常我们会在企业中部署Docker和Kubernetes集群,并且会在企业内部搭建Harbor私有镜像仓库以保证开发源码安全,以及加快…

2022年计算机网络408考研真题解析

第一题&#xff1a; 解析&#xff1a;网络体系结构-数据链路层 在ISO网络参考模型中&#xff0c;运输层&#xff0c;网络层和数据链路层都实现了流量的控制功能&#xff0c;其中运输层实现的是端到端的流量控制&#xff0c;网络层实现的是整个网络的流量控制&#xff0c;数据链…

鸿蒙NEXT开发案例:文字转拼音

【引言】 在鸿蒙NEXT开发中&#xff0c;文字转拼音是一个常见的需求&#xff0c;本文将介绍如何利用鸿蒙系统和pinyin-pro库实现文字转拼音的功能。 【环境准备】 • 操作系统&#xff1a;Windows 10 • 开发工具&#xff1a;DevEco Studio NEXT Beta1 Build Version: 5.0.…

使用sk-learn 理解TF-IDF

TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff09;是一种常用的文本挖掘技术&#xff0c;用于评估一个词语在一组文档中的重要性。它广泛应用于信息检索和文本挖掘中&#xff0c;尤其是在搜索引擎和推荐系统中。 组成部分 TF-IDF 由两个部分组成&…

【漏洞复现】|百易云资产管理运营系统/mobilefront/c/2.php前台文件上传

漏洞描述 湖南众合百易信息技术有限公司&#xff08;简称&#xff1a;百易云&#xff09;成立于2017年是一家专注于不动产领域数字化研发及服务的国家高新技术企业&#xff0c;公司拥有不动产领域的数字化全面解决方案、覆盖住宅、写字楼、商业中心、专业市场、产业园区、公建、…

408数据结构:栈、队列和数组选择题做题笔记

408数据结构 第一章 绪论 第二章 线性表 绪论、线性表选择题做题笔记 第三章 栈、队列和数组 栈、队列和数组选择题做题笔记 文章目录 408数据结构前言 一、队列二、栈和队列的应用总结 前言 本篇文章为针对王道25数据结构课后习题的栈、队列和数组的做题笔记&#xff0c;后续…

临床检验方法与仪器 第四部分作业:细胞及分子生物学检验仪器

临床检验方法与仪器 第四部分作业 调研“细胞及分子生物学检验仪器”中哪些有国产品牌&#xff0c;说明产品类型及名称&#xff0c;并分析我国产品与国际品牌产品的优势和不足。如果只有国外产品&#xff0c;请说明主要品牌名称和产品优势。 细胞及分子生物学检验仪器包括&…

快速排序&Lambda表达式

快速排序 912. 排序数组 #include <iostream> #include <vector> #include <ctime> #include <algorithm> // 用于交换函数swapusing namespace std;class Solution { public:// 函数功能&#xff1a;对给定数组nums的指定区间[l, r]进行划分操作&am…

网络层协议IP

对于网络层我们直接通过IP协议来了解其内容 一.IP协议 首先我们先来了解几个概念&#xff1a; 主机&#xff1a;配有IP地址&#xff0c;但是不进行路由控制的设备 路由器&#xff1a;配有IP地址&#xff0c;同时进行路由控制的设备 节点&#xff1a;主机和路由器的统称 所以现在…

cryptography与zlib系列:数据分块解密与解压

cryptography与zlib系列&#xff1a;数据分块解密与解压 数据分块压缩与加密可以查看我的另外一篇博客&#xff0c;这里与之相对应的是解密与解压的操作。解压之后的数据转为BytesIO对象用于后续读取&#xff0c;适用于大部分数据格式&#xff0c;而不需要从文件中读取。 完整…

react函数式组件中的路由传参方式

React Router 提供了多种方式来传递路由参数&#xff1a; URL 路径参数&#xff1a;通过动态路由和 useParams 获取。查询参数&#xff1a;通过 useLocation 获取 URL 查询字符串。路由状态传递&#xff1a;通过 state 属性在导航时传递数据&#xff0c;不在 URL 中显示&#…

八股文-基础知识-面试题汇总(一)

面向对象和面向过程的区别&#xff1f; 面向对象和面向过程是两种不同的编程范式&#xff0c;它们在设计和实现软件时有着不同的理念和方法。面向对象更适合大型、复杂的项目&#xff0c;尤其是需要维护和扩展的系统&#xff1b;而面向过程更适合小型、线性的任务或对性能要求…

道品智能科技移动式水肥一体机:农业灌溉施肥的革新之选

在现代农业的发展进程中&#xff0c;科技的力量正日益凸显。其中&#xff0c;移动式水肥一体机以其独特的可移动性、智能化以及实现水肥一体化的卓越性能&#xff0c;成为了农业领域的一颗璀璨新星。它不仅改变了传统的农业灌溉施肥方式&#xff0c;更为农业生产带来了高效、精…