C#基础题总结

16.一张单据上有一个5位数的号码为6**42,其中百位数和千位数已模糊不清,但知道该数能被 57 和 67 除尽。设计一个算法,找出该单据所有可能的号码。

17.编程序求2~10000以内的完全数。一个数的因子(除了这个数本身)之和等于该数本身。

18.找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum,请编写函数countValue()实现程序要求。

19.将大于整数m且小于n的k个素数存入数组x。请编写函数num()实现程序的要求.

20.选取出100以上1000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数CN以及这些素数值的和SUM。请编写函数实现程序要求.

16、我们可以看到是百位和千位不清楚是多少,我们可以从01-99来进行猜测,代码如下:

    for (int i = 1; i <= 99; i++)
    {
        int number = 60000 + 6 * i + 42; // 构建六位数,形式为60000 + 6 * (01-99) + 42
        if (IsValidNumber(number))
        {
            Console.WriteLine($"有效的单据号码是: {number}");
            break; // 找到一个有效的单据号码后就停止循环
        }
    }
}

static bool IsValidNumber(int number)
{
    // 这里可以添加更多的校验逻辑,例如检查百位和千位的模糊条件
    // 例如,检查百位和千位的和或乘积符合某种模式
    int hundredth = number / 100 % 10;
    int thousandth = number / 1000 % 10;
    // 假设模糊条件是百位和千位数字之和为5
    if (hundredth + thousandth == 5)
    {
        return true;
    }
    return false;
}

17、外层循环遍历2到10000的所有整数,内层循环遍历这个数的所有因子,如果一个数的因子之和等于这个数本身,那么这个数就是完全数,输出它。代码如下:

 for (int number = 2; number <= 10000; number++)
 {
     int sum = 0;
     for (int i = 1; i < number; i++)
     {
         if (number % i == 0)
         {
             sum += i;
         }
     }
     if (sum == number)
     {
         Console.WriteLine(number);
     }
 }

18、判断素数,以及加上指定的数还是素数,我们可以根据以下步骤来进行:

  1. 定义素数判断函数‌:首先,需要定义一个判断素数的函数。素数是指只能被1和自身整除的大于1的自然数。

  2. 遍历并判断‌:在1到100的范围内遍历每个数,使用素数判断函数检查该数及其加4和加10后的结果是否都是素数。如果是,则计数器加1,并将该数加入到结果集中。

  3. 输出结果‌:最后输出满足条件的整数个数。代码如下:

   

    int count = 0; // 计数器
    int sum = 0; // 满足条件的整数之和
    for (int i = 2; i <= 100; i++) // 从2开始到100遍历每个数
    {
        if (countValue(i) && countValue(i + 4) && countValue(i + 10)) // 检查I、I+4、I+10是否都是素数
        {
            count++; // 计数器加1
            sum += i; // 将满足条件的整数加入到和中
        }
    }
    Console.WriteLine($"满足条件的整数的个数={count}"); // 输出满足条件的整数个数
    Console.WriteLine($"满足条件的整数的和值={sum}"); // 输出满足条件的整数之和
}

// 判断一个数是否为素数的函数
static bool countValue(int number)
{
    if (number <= 1) return false; // 小于等于1的数不是素数
    for (int i = 2; i * i <= number; i++) // 只需检查到平方根即可提高效率
    {
        if (number % i == 0) return false; // 如果能被其他数整除,则不是素数
    }
    return true; // 不能被整除,则是素数
}

19、代码如下,根据素数来进行判断:

    Console.WriteLine("请输入对应的m,n,k的值");
    int m = int.Parse(Console.ReadLine());
    int n = int.Parse(Console.ReadLine());
    int k = int.Parse(Console.ReadLine());

    List<int> res = num(m, n, k);
    Console.WriteLine("结果是:"+res);
}

// 判断一个数是否为素数的函数
public static List<int> num(int m, int n, int k)
{
    List<int> primes = new List<int>();
    for (int i = m; i < n && primes.Count < k; i++)
    {
        if (IsPrime(i))
        {
            primes.Add(i);
        }
    }
    return primes;
}

private static bool IsPrime(int number)
{
    if (number <= 1)
    {
        return false;
    }
    if (number <= 3)
    {
        return true;
    }
    if (number % 2 == 0 || number % 3 == 0)
    {
        return false;
    }
    for (int i = 5; i * i <= number; i += 6)
    {
        if (number % i == 0 || number % (i + 2) == 0)
        {
            return false;
        }
    }
    return true;
}

20、这个问题可以通过三层循环解决,外层循环控制100到1000的数字,中间层循环控制个位数字,最内层循环控制十位数字,代码如下

 int count = 0;
 int num = 0;
 for (int i = 100; i <= 1000; i++)
 {
     int ones = i % 10; //个位数字
     int tens = i / 10 % 10; //十位数字
     int hundreds = i / 100; //百位数字

     if ((ones + tens) % 10 == hundreds)
     {
         Console.WriteLine(i);
         count++;
         num += i;
         Console.WriteLine("个数CN是:"+count);
         Console.WriteLine("和sum是:"+num);
     }
 }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android数据存储——文件存储、SharedPreferences、SQLite、Litepal

数据存储全方案——详解持久化技术 Android系统中主要提供了3中方式用于简单地实现数据持久化功能&#xff0c;即文件存储、SharedPreference存储以及数据库存储。除了这三种方式外&#xff0c;还可以将数据保存在手机的SD卡中&#xff0c;不给使用文件、SharedPreference或者…

【动手学电机驱动】STM32-FOC(8)MCSDK Profiler 电机参数辨识

STM32-FOC&#xff08;1&#xff09;STM32 电机控制的软件开发环境 STM32-FOC&#xff08;2&#xff09;STM32 导入和创建项目 STM32-FOC&#xff08;3&#xff09;STM32 三路互补 PWM 输出 STM32-FOC&#xff08;4&#xff09;IHM03 电机控制套件介绍 STM32-FOC&#xff08;5&…

ubuntu 安装proxychains

在Ubuntu上安装Proxychains&#xff0c;你可以按照以下步骤操作&#xff1a; 1、更新列表 sudo apt-update 2、安装Proxychains sudo apt-get install proxychains 3、安装完成后&#xff0c;你可以通过编辑/etc/proxychains.conf文件来配置代理规则 以下是一个简单的配置示例&…

ZooKeeper 基础知识总结

先赞后看&#xff0c;Java进阶一大半 ZooKeeper 官网这样介绍道&#xff1a;ZooKeeper 是一种集中式服务&#xff0c;用于维护配置信息、命名、提供分布式同步和提供组服务。 各位hao&#xff0c;我是南哥&#xff0c;相信对你通关面试、拿下Offer有所帮助。 ⭐⭐⭐一份南哥编写…

visionpro官方示例分析(一) 模板匹配工具 缺陷检测工具

1.需求&#xff1a;找出图像中的这个图形。 2.步骤 使用CogPMAlignTool工具&#xff0c;该工具是模板匹配工具&#xff0c;见名知意&#xff0c;所谓模板匹配工具就是说先使用该工具对一张图像建立模板&#xff0c;然后用这个模板在其他图像上进行匹配&#xff0c;匹配上了就说…

代码随想录算法训练营第六十天|Day60 图论

Bellman_ford 队列优化算法&#xff08;又名SPFA&#xff09; https://www.programmercarl.com/kamacoder/0094.%E5%9F%8E%E5%B8%82%E9%97%B4%E8%B4%A7%E7%89%A9%E8%BF%90%E8%BE%93I-SPFA.html 本题我们来系统讲解 Bellman_ford 队列优化算法 &#xff0c;也叫SPFA算法&#xf…

LAMP环境的部署

一、软件安装介绍 在Linux系统中安装软件有rpm安装、yum安装、源码安装等方法&#xff0c;在这里主要给大家介绍 yum 安装&#xff0c;这是一种最简单方便的一种安装方法。 YUM&#xff08;Yellow dog Upadate Modifie&#xff09;是改进版的 RPM 管理器&#xff0c;很好地解…

搭建文件服务器并使用Qt实现文件上传和下载(带账号和密码)

文章目录 0 背景1 搭建文件服务器2 代码实现文件上传和下载2.1 在pro文件中添加网络支持2.2 创建网络管理类2.3 文件上传2.4 文件下载 3 扩展&#xff08;其他方法实现文件上传和下载&#xff09;3.1 python3.2 npm3.3 ftp服务器 4 完整的代码 0 背景 因为需要使程序具备在远程…

matlab导出3D彩色模型(surface类转stl,并对白模上色)

在matlab中绘制3维图形时&#xff0c;需要将3维图形导出到PPT中展示。但是直接导出图片效果欠佳&#xff0c;无法全方位展示。 最近学习了如何将matlab中的图形导出为stl模型&#xff0c;然后再采用简单的方法对模型上色。 中间尝试过matlab导出stl、ply、3dm等多种格式&…

Java项目中加缓存

Java项目中加缓存 1.更新频率低&#xff1b;但读写频率高的数据很适合加缓存&#xff1b; 2.可以加缓存的地方很多&#xff1a;浏览器的缓存&#xff1b;CDN的缓存&#xff1b;服务器的缓存&#xff1b; 本地内存&#xff1b;分布式远端缓存&#xff1b; 加缓存的时候不要…

VTK的基本概念(一)

文章目录 三维场景的基本要素1.灯光2.相机3.颜色4.纹理映射 三维场景的基本要素 1.灯光 在三维渲染场景中&#xff0c;可以有多个灯光的存在&#xff0c;灯光和相机是三维渲染场景的必备要素&#xff0c;如果没有指定的话&#xff0c;vtkRenderer会自动创建默认的灯光和相机。…

【C知道】数据包捕获(wire shark)

请解释一下数据包捕获和分析工具&#xff08;如Wireshark&#xff09;的工作原理和用途。 数据包捕获和分析工具&#xff0c;例如Wireshark&#xff08;以前称为 Ethereal&#xff09;&#xff0c;是一种网络协议分析软件&#xff0c;它允许用户实时监控计算机网络中的数据传输…

浮点数计算,不丢失精度

在js中对于浮点数直接计算会存在精度丢失的情况&#xff0c;为了保证精度问题&#xff0c;可以做如下处理&#xff1a; 浮点数精度计算 主要流程如下&#xff1a; 浮点数转换成整数 示例代码如下 /** 将一个浮点数转成整数&#xff0c;返回整数和倍数。如 3.14 >> 314…

计算机网络八股整理(三)

目录 计算机网络八股&#xff08;三&#xff09;传输层1&#xff1a;说一下tcp的头部&#xff1f;2&#xff1a;tcp三次握手的过程说一下&#xff1f;拓展linux中查看tcp状态&#xff1a; 3:tcp为什么需要三次握手建立连接&#xff1f;4&#xff1a;tcp三次握手&#xff0c;如果…

C#基础控制台程序

11.有一个54的矩阵&#xff0c;要求编程序求出其中值最大的那个元素的值&#xff0c;以及其所在的行号和列号。 12.从键盘输入一行字符&#xff0c;统计其中有多少个单词&#xff0c;单词之间用空格分隔开。 13.输入一个数&#xff0c;判断它是奇数还是偶数&#xff0c;如果…

小程序-基于java+SpringBoot+Vue的微信小程序养老院系统设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

LeetCode—74. 搜索二维矩阵(中等)

仅供个人学习使用 题目描述&#xff1a; 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true…

命令行使用ssh隧道连接远程mysql

本地电脑A 跳板机B 主机2.2.2.2 用户名 B ssh端口号22 登录密码bbb 远程mysql C 地址 3.3.3.3 端口号3306 用户名C 密码ccc A需要通过跳板机B才能访问C; navicat中配置ssh可以实现在A电脑上访问C 如何实现本地代码中访问C呢? # 假设本地使…

海康VsionMaster学习笔记(学习工具+思路)

一、前言 VisionMaster算法平台集成机器视觉多种算法组件&#xff0c;适用多种应用场景&#xff0c;可快速组合算法&#xff0c;实现对工件或被测物的查找测量与缺陷检测等。VM算法平台依托海康威视在图像领域多年的技术积淀&#xff0c;自带强大的视觉分析工具库&#xff0c;可…

⭐️ GitHub Star 数量前十的工作流项目

文章开始前&#xff0c;我们先做个小调查&#xff1a;在日常工作中&#xff0c;你会使用自动化工作流工具吗&#xff1f;&#x1f64b; 事实上&#xff0c;工作流工具已经变成了提升效率的关键。其实在此之前我们已经写过一篇博客&#xff0c;跟大家分享五个好用的工作流工具。…