C#基础题总结

server/2024/11/27 19:59:05/

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.ppmy.cn/server/145419.html

相关文章

WordCloud去掉停用词(fit_words+generate)的2种用法

-------------词云图集合------------- WordCloud去掉停用词&#xff08;fit_wordsgenerate&#xff09;的2种用法 通过词频来绘制词云图&#xff08;jiebaWordCloud&#xff09; Python教程95&#xff1a;去掉停用词词频统计jieba.tokenize示例用法 将进酒—李白process_t…

241126学习日志——[CSDIY] [ByteDance] 后端训练营 [19]

CSDIY&#xff1a;这是一个非科班学生的努力之路&#xff0c;从今天开始这个系列会长期更新&#xff0c;&#xff08;最好做到日更&#xff09;&#xff0c;我会慢慢把自己目前对CS的努力逐一上传&#xff0c;帮助那些和我一样有着梦想的玩家取得胜利&#xff01;&#xff01;&…

2024年12月计划(ue5太阳系+ue独立游戏+freex+GPU精粹泛读催眠)

根据以往&#xff0c; 如果周一到周四白天 一&#xff0c;UE5太阳系每天一节&#xff0c;原因是尽可能地接手外包的源码&#xff0c;全职去做UE&#xff0c;提高核心竞争力。剩下26节&#xff0c;868分钟。如果按照每天10分钟&#xff0c;显然是不够的。分5周进行&#xff0c;…

AIVA 技术浅析(五):使用的自然语言处理(NLP)技术浅析

虽然 AIVA&#xff08;Artificial Intelligence Virtual Artist&#xff09;主要用于音乐创作&#xff0c;但其核心依赖于深度学习技术&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;领域的许多概念和方法。 1. 序列建模&#xff08;Sequence Modeling&#xff09…

【八股文】小米

文章目录 一、vector 和 list 的区别&#xff1f;二、include 双引号和尖括号的区别&#xff1f;三、set 的底层数据结构&#xff1f;四、set 和 multiset 的区别&#xff1f;五、map 和 unordered_map 的区别&#xff1f;六、虚函数和纯虚函数的区别&#xff1f;七、extern C …

java centos 离线使用sherpa-onnx文字转语音TTS

sherpa-onnx: https://github.com/k2-fsa/sherpa-onnx.git 文档链接;Java API — sherpa 1.3 文档 1. 项目基础介绍和主要编程语言 sherpa-onnx 是一个基于下一代 Kaldi 和 onnxruntime 的开源项目,专注于语音识别、文本转语音、说话人识别和语音活动检测(VAD)等功能。该项…

原生Android调用uniapp项目中的方法

最近遇到了这样一个需求&#xff0c;和安卓对接&#xff0c;暴露一个方法给安卓调用&#xff0c;我这边是使用的uniappvue3开发的项目&#xff0c;可以打包成小程序、app&#xff0c;运行在浏览器&#xff0c;H5页面等。大概的思路是&#xff1a;在main.js中封装一个全局的方法…

政安晨【零基础玩转各类开源AI项目】探索Cursor-AI Coder的应用实例

目录 Cusor的主要特点 Cusor实操 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; Cursor 是 Visual Studio Code 的一个分支。这使我们能够…