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

C#编程题分享(5)

 判断质数问题

输⼊⼀个正整数,判断该数是否是质数。如果为质数输出 yes,如果不是输出no

样例输⼊113 输出yes

int n = Convert.ToInt32(Console.ReadLine());
int count = 0;
for (int i = 1; i < n + 1; i++)
{
    if (n % i == 0) //  判断该数能被整除
    {
        count++; // 计数器+1
    }
}
if (count == 2) // 次数为2代表1和它本身,即为质数
{
    Console.WriteLine("yes");
}
else
{
    Console.WriteLine("no");
}

输出因数问题

输⼊⼀个整数,输出该整数的因数个数和所有因数。
样例输⼊ 9 样例输出 3  1  3  9

int n = Convert.ToInt32(Console.ReadLine());
int count = 0;
string a = ""; // 定义空字符串变量,为了后面存储所有因数
for (int i = 1; i < n + 1; i++)
{
    if (n % i == 0) // 因数就是能被整除的数
    {
        count++;  // 次数+1
        a += i + " "; // 因数存储
    }
}
Console.WriteLine(count); // 输出因数个数
Console.Write(a); // 输出所有的因数

整数插入有序数组组成新的有序数组:

有n(n<=100)个整数,已经按照从⼩到⼤顺序排列好,现在另外给⼀个整数x,请将该数插⼊到序列中,并使新的序列仍然有序。输出新的序列。

样例输入:10 20 30 40 50        15   样例输出:10 15 20 30 40 50

class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();// 输入有序数组
            // 将字符数组转换为整数数组
            string[] strArray = str.Split(' ');
            int[] intArray = new int[strArray.Length];
            for (int i = 0; i < strArray.Length; i++)
            {
                int num = Convert.ToInt32(strArray[i]);
                intArray[i] = num; // 赋值
            }

            // 给的整数x
            int x = Convert.ToInt32(Console.ReadLine());

            int nIndex = intArray.Length - 1;// 假设索引是最后一位
            for (int i = 0; i < intArray.Length - 1; i++)
            {
                if (x >= intArray[i] && x <= intArray[i + 1]) // 找出该整数的索引
                {
                    nIndex = i;
                    break;
                }
            }

            if (x < intArray[0]) // 特殊情况,该整数为最小值时
            {
                nIndex = -1;
            }

            int[] intNewArray = new int[intArray.Length + 1]; // 定义新数组

            // 0-nIndex = 0 - -1
            for (int i = 0; i < nIndex + 1; i++)
            {
                intNewArray[i] = intArray[i]; // 遍历到nIndex + 1给新数组赋值
            }

            intNewArray[nIndex + 1] = x; // 将该整数也放入新数组中
            // nIndex+1 -- length-1
            for (int i = nIndex + 1; i < intArray.Length; i++)
            {
                intNewArray[i + 1] = intArray[i];  // 从nIndex + 1开始继续遍历给新数组赋剩余的值
            }

            foreach (int num in intNewArray)
            {
                Console.Write(num + " ");// 输出新的有序数组
            }
        }
    }


http://www.kler.cn/a/155024.html

相关文章:

  • RabbitMQ轻松构建高效可靠的消息队列系统
  • Go 语言中,golang结合 PostgreSQL 、MySQL驱动 开启数据库事务
  • 任何使用 Keras 进行迁移学习
  • 亲测有效:Maven3.8.1使用Tomcat8插件启动项目
  • git入门环境搭建
  • Java结合ElasticSearch根据查询关键字,高亮显示全文数据。
  • 自定义类型:结构体(自引用、内存对齐、位段(位域))
  • 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(2)后端跨域、登录模块、springboot分层架构、IDEA修改快捷键、vue代码风格
  • Python 简介和用途
  • springcloud==ribbon
  • C/C++ 谓词 lambda表达式
  • 自定义Vue的DockPanel-Layout
  • 深度学习记录--logistic回归损失函数向量化实现
  • LLM;超越记忆《第 2 部分 》
  • Echarts地图registerMap使用的GeoJson数据获取
  • Spring boot命令执行 (CVE-2022-22947)漏洞复现和相关利用工具
  • 高斯日记(cpp+java)
  • 线程安全的问题以及解决方案
  • 【重点】【双指针】15. 三数之和
  • Vue diff 算法探秘:如何实现快速渲染
  • Gson的用法详解
  • 中兴小鲜50 ZTE 畅行50 刷机救砖演示机7543n root 虎贲 展锐 T760 解锁BL
  • 人工智能 - 人脸识别:发展历史、技术全解与实战
  • 开源免费跨平台数据同步工具-Syncthing
  • Unity3D URP 自定义范围的特效热扭曲详解
  • LLM:《第 3 部分》从数学角度评估封闭式LLM的泛化能力