当前位置: 首页 > news >正文

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);
     }
 }

http://www.lryc.cn/news/492326.html

相关文章:

  • Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
  • 《参与中型项目,领略 Spring 魅力》
  • 计算机网络-GRE(通用路由封装协议)简介
  • 开源电话机器人产品的优点是什么?
  • Spring Boot 集成 Knife4j 的 Swagger 文档
  • 极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【一】
  • C# 在Word文档模板中,按照占位符插入文字或图片
  • 在使用PCA算法进行数据压缩降维时,如何确定最佳维度是一个关键问题?
  • 深度学习3
  • Qt5.14.2的安装与环境变量及一些依赖库的配置
  • PYNQ 框架 - 时钟系统 + pl_clk 时钟输出不准确问题
  • CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标
  • 类和对象--中--初始化列表(重要)、隐式类型转化(理解)、最后两个默认成员函数
  • uni-app运行 安卓模拟器 MuMu模拟器
  • java 打印对象所有属性的值 循环
  • k8s认证、授权
  • 基于spring boot的纺织品企业财务管理系统论文
  • @RequestBody和前端的关系以及,如何在前后端之间传递数据?
  • 详解登录MySQL时出现SSL connection error: unknown error number错误
  • 【大数据学习 | Spark-Core】Spark的改变分区的算子
  • Spring Boot Web应用开发:测试
  • 服务器数据恢复—光纤存储FC硬盘数据恢复案例
  • Android Binder技术概览
  • 09 —— Webpack搭建开发环境
  • 深度学习模型:卷积神经网络(CNN)
  • Flask 自定义路由转换器
  • 【淘汰9成NLP面试者的高频面题】LSTM中的tanh和sigmoid分别用在什么地方?为什么?
  • gocv调用opencv添加中文乱码的解决方案
  • org.apache.log4j的日志记录级别和基础使用Demo
  • IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)