C#上机练习66-70
66.数组x中存有20个四位整数,请编制函数,求出正整数的个数tn。以及各位数字之和是偶数的数的个数tc,以及满足条件的这些数的算术平均ta.,将tn,tc,ta在控制台输出。
67.数组x中存有20个四位整数,请编制函数,求出正整数的个数tn。以及百位数字大于十位数字数的个数tc,以及满足条件的这些数的算术平均ta.,将tn,tc,ta在控制台输出。
68.哥德巴赫猜想之一是任何一个大于5的偶数都可以表示为两个素数之和。验证这一论断。
69.用牛顿迭代法求方程2x3+4x2-7x-6=0在x=1.5附近的根。
70.编程序求2~10000以内的完全数(一个数的因子(除了这个数本身)之和等于该数本身)
66、在 AnalyzeNumbers
函数中,我们遍历数组 x
中的每个整数,并根据以下规则进行计数:
- 如果一个数是正整数,则
tn
(正整数的个数)加1,同时该数的值加到正整数的总和中。 - 对于每个数,我们计算其各位数字之和。如果这个和为偶数,则
tc
(各位数字之和为偶数的数的个数)加1。
最后,我们计算正整数的算术平均值 ta
,它是正整数总和除以正整数的个数。
Main
方法定义了一个示例数组 x
,调用 AnalyzeNumbers
函数进行分析,并输出结果。代码如下:
private static void Main(string[] args)
{ // 示例数组x,包含20个四位整数
int[] x = { 1234, 2345, 3456, 4567, 5678, 6789, 7890, 8901, 9012, 1011,1112, 2123, 3134, 4145, 5156, 6167, 7178, 8189, 9190, 123 };
var results = AnalyzeNumbers(x); // 调用函数进行分析
// 输出结果
Console.WriteLine($"正整数的个数 tn: {results.tn}");
Console.WriteLine($"各位数字之和是偶数的数的个数 tc: {results.tc}");
Console.WriteLine($"满足条件的数的算术平均值 ta: {results.ta:F2}");
}
// 函数用于计算正整数的个数、各位数字之和为偶数的数的个数,以及满足条件的数的算术平均值
static (int tn, int tc, double ta) AnalyzeNumbers(int[] x)
{
int tn = 0; // 正整数的个数
int tc = 0; // 各位数字之和为偶数的数的个数
double sumOfPositiveNumbers = 0; // 正整数的和
int countOfPositiveNumbers = 0; // 正整数的个数
foreach (int number in x)
{
// 检查数是否为正整数
if (number > 0)
{
tn++;
sumOfPositiveNumbers += number;
countOfPositiveNumbers++;
}
// 检查各位数字之和是否为偶数
int sumOfDigits = number.ToString().Sum(digit => int.Parse(digit.ToString()));
if (sumOfDigits % 2 == 0)
{
tc++;
}
}
// 计算算术平均值
double ta = countOfPositiveNumbers > 0 ? sumOfPositiveNumbers / countOfPositiveNumbers : 0;
return (tn, tc, ta);
}
67、这个跟上一个差不多,我们只需要改下判断就可以,代码如下:
68、我们可以在100000内找,将检查每一个大于5且小于一个给定上限(在这个示例中为1000000)的偶数,确保它能够被表示为两个素数之和,代码如下:
private static void Main(string[] args)
{
int limit = 1000000; // 我们检查的偶数上限
bool[] isPrime = new bool[limit + 1]; // 用于标记索引值是否为素数的数组
// 初始化素数标记数组
for (int i = 2; i <= limit; i++)
{
isPrime[i] = true;
}
// 筛选出小于或等于limit的素数
for (int i = 2; i * i <= limit; i++)
{
if (isPrime[i])
{
for (int j = i * i; j <= limit; j += i)
{
isPrime[j] = false;
}
}
}
// 验证哥德巴赫猜想
for (int i = 6; i <= limit; i += 2) // 从6开始检查每一个偶数
{
bool found = false;
for (int j = 2; j <= i / 2; j++) // 对于每一个偶数,找到两个素数之和等于它的素数
{
if (isPrime[j] && isPrime[i - j]) // 如果两个素数都是素数
{
Console.WriteLine($"{i} = {j} + {i - j}"); // 输出结果
found = true;
break; // 找到一对素数后,跳出循环
}
}
if (!found)
{
Console.WriteLine($"哥德巴赫猜想在 {i} 处失败。");
break;
}
}
}
69、我们定义几个函数,然后调用,代码如下:
Function
方法返回方程 2x^3 + 4x^2 - 7x - 6
的值,Derivative
方法返回方程的导数 6x^2 + 8x - 7
的值。NewtonRaphson
方法通过迭代更新 x
的值,直到满足容差条件或达到最大迭代次数。程序的输出是迭代法找到的根。
private static void Main(string[] args)
{
double initialGuess = 1.5; // 初始猜测值
double tolerance = 1e-7; // 容忍误差
int maxIterations = 1000; // 最大迭代次数
double root = NewtonRaphson(initialGuess, tolerance, maxIterations);
Console.WriteLine($"方程 2x^3 + 4x^2 - 7x - 6 = 0 在 x = 1.5 附近的根为: {root}");
}
static double NewtonRaphson(double initialGuess, double tolerance, int maxIterations)
{
double x = initialGuess;
double fx = Function(x);
double dfx = Derivative(x);
int iteration = 0;
while (Math.Abs(fx) > tolerance && iteration < maxIterations)
{
double xNext = x - fx / dfx;
fx = Function(xNext);
dfx = Derivative(xNext);
x = xNext;
iteration++;
}
if (iteration >= maxIterations)
{
Console.WriteLine("未能在迭代次数内找到解,可能需要增加迭代次数或检查初始猜测值。");
}
return x;
}
static double Function(double x)
{
return 2 * Math.Pow(x, 3) + 4 * Math.Pow(x, 2) - 7 * x - 6;
}
static double Derivative(double x)
{
return 6 * Math.Pow(x, 2) + 8 * x - 7;
}
70、
IsPerfect
函数检查给定的整数 number
是否是完全数。它通过累加所有小于或等于 number
一半的因子来实现这一点。如果因子之和等于 number
本身,则返回 true
,表示这是一个完全数;否则返回 false
。
主方法 Main
中的循环遍历从2开始到10000的所有整数,并调用 IsPerfect
函数来检查每个数是否是完全数。如果是,程序将其输出到控制台
private static void Main(string[] args)
{
Console.WriteLine("2到10000之间的完全数:");
for (int i = 2; i <= 10000; i++)
{
if (IsPerfect(i))
{
Console.WriteLine(i);
}
}
}
// 判断一个数是否为完全数的函数
static bool IsPerfect(int number)
{
int sum = 0;
for (int i = 1; i <= number / 2; i++) // 只需检查到一半即可
{
if (number % i == 0)
{
sum += i;
}
}
return sum == number; // 如果因子之和等于数本身,则为完全数
}
相关文章:
C#上机练习66-70
66.数组x中存有20个四位整数,请编制函数,求出正整数的个数tn。以及各位数字之和是偶数的数的个数tc,以及满足条件的这些数的算术平均ta.,将tn,tc,ta在控制台输出。 67.数组x中存有20个四位整数,请编制函数…...
pip 与当前python环境版本不匹配, pyenv, pipenv, conda
目录 pip 与当前python环境不匹配解决pip版本不一致 CondaPyenv pip 与当前python环境不匹配 电脑中安装了多个python虚拟环境, 有anaconda创建的虚拟环境,也有pyenv创建的虚拟环境,但是环境变量配置的是anaconda的路径 从而导致在vscode中选择的python版本是3.8.10,而pip却是…...
HAProxy面试题及参考答案(精选80道面试题)
目录 什么是 HAProxy? HAProxy 主要有哪些功能? HAProxy 的关键特性有哪些? HAProxy 的主要功能是什么? HAProxy 的作用是什么? 解释 HAProxy 在网络架构中的作用。 HAProxy 与负载均衡器之间的关系是什么? HAProxy 是如何实现负载均衡的? 阐述 HAProxy 的四层…...
ElasticSearch为什么不能在query阶段直接返回_id,从而避免fetch?
整理自Github的一个issue,也正好解答了我的疑惑 https://github.com/elastic/elasticsearch/issues/17159 提问 是否可以避免搜索的fetch阶段并仅返回文档ID?查询阶段结束时是否有_id,这样当我只需要_id时,fetch就多余了?可以通过…...
任意文件读取漏洞(CVE-2024-7928)修复
验证CVE-2024-7928问题是否存在可以使用如下方法: https://域名/index/ajax/lang?lang..//..//目录名/文件名(不带后缀) 目录名是该项目的一个目录,这里目录位置为nginx设置站点目录为基准,网上两层目录。 文件名…...
07 初始 Oracle 优化器
查询优化器,简称优化器,是数据库最核心的组件之一。我们在这个系列的第一篇文章中已经给大家介绍了,优化器会参与到SQL语句的解析过程中,用来生成SQL语句的执行计划,直接决定SQL语句执行性能的优劣。 什么是执行计划 …...
深入理解React Hooks:使用useState和useEffect
引言 React Hooks是React 16.8引入的一项强大功能,它使函数组件能够使用状态和其他React特性。本文将深入探讨两个最常用的Hooks:useState和useEffect,并通过实际代码示例展示它们的使用方法。 1. 什么是React Hooks? React Ho…...
深入浅出剖析典型文生图产品Midjourney
2022年7月,一个小团队推出了公测的 Midjourney,打破了 AIGC 领域的大厂垄断。作为一个精调生成模型,以聊天机器人方式部署在 Discord,它创作的《太空歌剧院》作品,甚至获得了美国「数字艺术/数码摄影」竞赛单元一等奖。 这一事件展示了 AI 在绘画领域惊人的创造力,让人们…...
大数据学习18之Spark-SQL
1.概述 1.1.简介 Spark SQL 是 Apache Spark 用于处理结构化数据的模块。 1.2.历史 1.2.1.Shark Hadoop诞生初期,Hive是唯一在Hadoop上运行的SQL-on-Hadoop工具,MR的中间计算过程产生了大量的磁盘落地操作,消耗了大量的I/O,降低…...
Flink开发入门简单案例--统计实时流订单
Flink开发入门简单案例 0.简介1.订单数据生成器1.1 新建工程TestFlink1.2 在pom.xml中引入Flink依赖包1.3 订单数据生成类订单类(Item)订单生成数据流类测试订单生成类 2.订单统计2.1 仅统计订单中商品的件数 2.2 同时统计商品数量和金额 0.简介 本案例…...
Scala身份证上的秘密以及Map的遍历
object test {def main(args: Array[String]): Unit {val id "42032220080903332x"//1.生日是?//字符串截取val birthday id.substring(10,14) //不包括终点下标println(birthday)val year id.substring(6,10) //println(year)//性别:倒数第…...
RabbitMQ
交换机 Fanout:广播Direct:定向路由Topic:匹配符 声明队列和交换机 基于Bean基于注解 消息转换器 JSON序列化...
全景图像(Panorama Image)向透视图像(Perspective Image)的跨视图转化(Cross-view)
一、概念讲解 全景图像到透视图像的转化是一个复杂的图像处理过程,它涉及到将一个360度的全景图像转换为一个具有透视效果的图像,这种图像更接近于人眼观察世界的方式。全景图像通常是一个矩形图像,它通过将球面图像映射到平面上得到…...
matlab 实现混沌麻雀搜索算法的光伏MPPT控制仿真
1、内容简介 略 103-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...
【设计模式】【行为型模式(Behavioral Patterns)】之策略模式(Strategy Pattern)
1. 设计模式原理说明 策略模式(Strategy Pattern) 是一种行为设计模式,它允许你定义一系列算法,并将每个算法封装起来,使它们可以互换。策略模式让算法的变化独立于使用算法的客户。通过这种方式,客户端可…...
深度学习笔记之BERT(三)RoBERTa
深度学习笔记之RoBERTa 引言回顾:BERT的预训练策略RoBERTa训练过程分析静态掩码与动态掩码的比较模型输入模式与下一句预测使用大批量进行训练使用Byte-pair Encoding作为子词词元化算法更大的数据集和更多的训练步骤 RoBERTa配置 引言 本节将介绍一种基于 BERT \t…...
windows docker 入门
这个教程将指导你如何安装Docker、运行第一个容器以及理解一些基本概念。 第一步:安装Docker Desktop for Windows 系统要求: Windows 10 64位版本(专业版、企业版或教育版)。启用Hyper-V和Windows Subsystem for Linux (WSL 2)。…...
【软考速通笔记】系统架构设计师③——信息安全技术基础知识
文章目录 一、前言二、信息安全基础知识2.1 信息安全的基本要求2.2 信息安全的范围2.3 网络安全表现2.4 安全措施包括 三、信息安全系统的组成框架3.1 技术体系:3.2 组织机构体系:3.3 管理体系 四、信息加解密技术4.1 对称密钥加密算法4.2 非对称密钥加密…...
Spring Boot整合Redis Stack构建本地向量数据库相似性查询
Spring Boot整合Redis Stack构建本地向量数据库相似性查询 在微服务架构中,数据的高效存储与快速查询是至关重要的。Redis作为一个高性能的内存数据结构存储系统,不仅可以用作缓存、消息代理,还可以扩展为向量数据库,实现高效的相…...
设计模式-装饰者模式
背景 有一个咖啡馆有 单品咖啡:意大利浓咖啡、美式咖啡、无因咖啡 调料:牛奶、巧克力 点单时需要点一个单品咖啡,可以选择加调料或者不加。 最后计算价格。 较好的传统思路: 创建一个抽象的咖啡类,其中有各个调…...
.NetCore 过滤器和拦截器 的区别
Asp.NET Core 中的过滤器(Filter)和拦截器(Interceptor)是两个不同的概念,但它们在某些方面有相似之处,也有明显的区别。 🔑过滤器(Filter) 过滤器是Asp.NET Core中用于…...
uniapp实现APP版本升级
App.vue 直接上代码 <script>export default {methods: {//APP 版本升级Urlupload() {// #ifdef APP-PLUSplus.runtime.getProperty(plus.runtime.appid, (info) > {// 版本号变量持久化存储getApp().globalData.version info.version;this.ToLoadUpdate(info.versi…...
c语言的qsort函数理解与使用
介绍:qsort 函数是 C 标准库中用于排序的快速排序算法函数。它的用法非常灵活,可以对任意类型的元素进行排序,只要提供了比较函数即可。 qsort 函数原型及参数解释: void qsort ( void* base, //指向要排序的数组的首元素…...
k8s集群增加nfs-subdir-external-provisioner存储类
文章目录 前言一、版本信息二、本机安装nfs组件包三、下载nfs-subdir-external-provisioner配置文件并进行配置1.下载文件2.修改配置 三、进行部署备注:关于镜像无法拉取问题的处理 前言 手里的一台服务器搭建一个单点的k8s集群,然后在本机上使用nfs-su…...
IT成长之路-ubuntu驱动篇
历时3天的蹂躏,总结驱动安装全面教程。 步骤一、安装gcc、g和make包 #脚本更新 sudo apt-get update #编译gcc sudo apt-get install gcc #编译g sudo apt-get install g #编译make sudo apt-get install make 注意: gcc、g版本可能会导致显卡驱动安…...
AI大模型如何赋能电商行业,引领变革
目录 1.概述 1.1. 购物推荐系统 1.2. 会员分类与客户细分 1.3. 动态商品定价 1.4. 库存和供应链管理 1.5. 客户服务与体验 1.6. 内容生成与管理 2.AI技术在电商中的创新应用 2.1.淘宝 2.2.京东 2.3.华为 2.4.小米 3.AI技术在提高电商平台销售效率方面发挥的作用 …...
QT6学习第四天 感受QT的文件编译
QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局,…...
地平线 bev_cft_efficientnetb3 参考算法-v1.2.1
01 概述 在自动驾驶感知算法中 BEV 感知成为热点话题,BEV 感知可以弥补 2D 感知的缺陷构建 3D “世界”,更有利于下游任务和特征融合。 地平线集成了基于 bev 的纯视觉算法,目前已支持 ipm-based 、lss-based、 transformer-basedÿ…...
【linux】shell脚本
文章目录 1. jar包启动脚本1.1 方式一1.2 方式二 2. 进程关闭脚本3. 操作mysql4. impala建表语句提取5. 监控磁盘存量6. 清日志脚本7. 替换tomcat的启动端口8. 将一行数据按照空格依次读取 1. jar包启动脚本 1.1 方式一 #!/bin/sh RESOURCE_NAME/usr/local/applications/scre…...
构建一个去中心化的零售生态参与者的商业模型
在数字化和去中心化技术快速发展的背景下,传统零售行业正迎来革命性的转型。去中心化零售生态不仅让消费者、商家和内容创作者在同一平台上共同参与价值的创造和分配,还推动了零售体验、数据控制和社会互动的彻底变革。本文将探讨如何构建一个去中心化的…...
Spring Boot开发实战:从入门到构建高效应用
Spring Boot 是 Java 开发者构建微服务、Web 应用和后端服务的首选框架之一。其凭借开箱即用的特性、大量的自动化配置和灵活的扩展性,极大简化了开发流程。本文将以实战为核心,从基础到高级,全面探讨 Spring Boot 的应用开发。 一、Spring B…...
MyBatis(mybatis_plus)中TypeHandler的使用教程
MyBatis(mybatis_plus)中TypeHandler的使用教程 一.TypeHandler作用及其使用场景 在我们平常开发操作数据库时,查询、插入数据等操作行为,有时会报数据类型不匹配异常,就可以得知数据的类型是不唯一的必然是多种不同…...
【C++】IO库(三):string流
8.3 string 流 sstream 头文件定义了三个类型来支持内存 IO,这些类型可以向 string 写入数据,也可以从 string 读取数据,就像 string 是一个 IO 流一样。 istringstream 从 string 读数据;ostringstream 向 string 写入数据&…...
C# 反射详解
反射是C#中的一个强大特性,允许程序在运行时检查和操作类型和对象的信息。 通过反射,你可以获取类型的属性、方法、构造函数等信息,并可以动态创建对象、调用方法或访问属性,甚至可以实现某些框架或库的核心功能。 反射的基本概念…...
量化交易系统开发-实时行情自动化交易-8.量化交易服务平台(一)
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来会对于收集整理的33个量化交易服…...
【开发商城系统】
在广西开发商城系统,可以按照以下步骤进行: 确定项目需求:与客户沟通,了解商城系统所需的功能和特性,并确定项目的预算和时间限制。 进行市场调研:了解广西地区的电商市场情况,包括竞争对手、消…...
C++设计模式-享元模式
动机(Motivation) 在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价——主要指内存需求方面的代价。如何在避免大量细粒度对象问题的同时,让外部客户程序仍然能够透明地使用面向对象的方式来进行操作…...
Spark——安装步骤详细教程
1、安装步骤 1、上传 cd /opt/modules 2、解压 tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/installs 3、重命名 cd /opt/installs mv spark-3.1.2-bin-hadoop3.2 spark-local 4、创建软链接 ln -s spark-local spark 5、配置环境变量: vi /etc/prof…...
摆烂仙君传——深度学习秘境奇缘
第一章:深度学习秘境 在修仙界与科技交织的边缘,八荒六合九天无上摆烂仙君在其高科技修炼室中感应到一股神秘的召唤。这股力量似乎与他的灵魂产生了共鸣,引导他前往传说中的深度学习秘境。在那里,古老的仙法与前沿的算法交织&…...
C++设计模式:桥接模式(Bridge)
什么是桥接模式? 桥接模式(Bridge Pattern)是一个用来解耦的设计模式,它将抽象层和实现层分离开,让它们可以独立变化。用最简单的话来说,就是让你能够改变抽象的功能和具体的实现,而不需要修改…...
c++源码阅读__smart_ptr__正文阅读
文章目录 简介源码解析1. 引用计数的实现方式2. deleter静态方法的赋值时间节点3.make_smart的实现方式 与 好处4. 几种构造函数4.1 空构造函数4.2 接收指针的构造函数4.3 接收指针和删除方法的构造函数 , 以及auto进行模板lambda的编写4.4 拷贝构造函数4.5 赋值运算符 5. rele…...
halcon3D 1:1切片轮廓投影技术,透过像素距离,知实际物体的尺寸
首先说做个什么事儿 对一个物体的横截面进行1:1或者1:10的投影,也就是说世界物体1mm的话,投影到image中占1个或者10个像素值,这样,就可以透过直接计算image中的像素距离,知道实际物体的尺寸 用一张图说明是这样的。物…...
npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法
npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法 1. npm库xss依赖的使用方法1.1 xss库定义1.2 xss库功能 2. vue3 中 wangeditor 使用xss库解决 XSS 攻击的方法和示例2.1 在终端执行如下命令安装 xss 依赖2.2 在使用 wangeditor 的地…...
计算机网络 实验七 NAT配置实验
一、实验目的 通过本实验理解网络地址转换的原理和技术,掌握扩展NAT/NAPT设计、配置和测试。 二、实验原理 NAT配置实验的原理主要基于网络地址转换(NAT)技术,该技术用于将内部私有网络地址转换为外部公有网络地址,从…...
UI设计-色彩、层级、字体、边距(一)
一.色彩:色彩可以影响人的心理与行动,具有不同的象征意义;有冷暖,轻重,软硬等等。 1.色彩情绪:最直观的视觉感受 一个活动的页面所用的颜色必须要与其内容相适应,让人看起来舒服。有时我们会不…...
【网络安全】
黑客入侵 什么是黑客入侵? “黑客”是一个外来词,是英语单词hacker的中文音译。最初,“黑客”只是一个褒义词,指的是那些尽力挖掘计算机程序最大潜力的点脑精英,他们讨论软件黑客的技巧和态度,以及共享文化…...
c++趣味编程玩转物联网:基于树莓派Pico控制有源蜂鸣器
有源蜂鸣器是一种简单高效的声音输出设备,广泛应用于电子报警器、玩具、计时器等领域。在本项目中,我们结合树莓派Pico开发板,通过C代码控制有源蜂鸣器发出“滴滴”声,并解析其中涉及的关键技术点和硬件知识。 一、项目概述 1. 项…...
【MySQL】MySQL从入门到放弃
文章目录 声明MYSQL一,架构1.1.网络连接层数据库连接池 1.2.系统服务层1.2.1.SQL接口1.2.2.存储过程1.2.3.触发器1.2.4.解析器1.2.5.优化器1.2.6.缓存,缓冲 1.3.存储引擎层1.4.文件系统层1.4.1.日志模块1.4.2.数据模块 二,SQL 执行2.1.执行流程2.2.刷盘2.3.返回 三.库表设计3.1…...
redis-cluster集群搭建
集群节点信息 192.168.222.131:46379 主要节点1 192.168.222.131:46380 从节点1 192.168.222.131:46381 从节点2192.168.222.132:46379 主要节点2 192.168.222.132:46380 从节点1 192.168.222.132:46381 从节点2192.168.222.133:46379 主要节点3 192.168.222.133:46380 从节点…...
C语言解决空瓶换水问题:高效算法与实现
标题:C语言解决空瓶换水问题:高效算法与实现 一、问题描述 在一个饮料促销活动中,你可以通过空瓶换水的方式免费获得更多的水:3个空瓶可以换1瓶水。喝完这瓶水后,空瓶会再次变为空瓶。假设你最初拥有一定数量的空瓶&a…...