算法竞赛入门【码蹄集新手村600题】(MT1220-1240)C语言

news2024/9/25 11:21:34

算法竞赛入门【码蹄集新手村600题】(MT1220-1240)C语言

  • 目录
    • MT1221 分数的总和
    • MT1222 等差数列
    • MT1223 N是什么
    • MT1224 棋盘
    • MT1225 复杂分数
    • MT1226 解不等式
    • MT1227 宝宝爬楼梯
    • MT1228 宝宝抢糖果
    • MT1229 搬家公司
    • MT1230 圆周率
    • MT1231圆周率II
    • MT1232 数字和
    • MT1233 数字之和
    • MT1234 一个数字
    • MT1235 回文数字
    • MT1236 回文
    • MT1237 六六大顺
    • MT1238 幸运数字3
    • MT1239 自恋性数
    • MT1240 好多自恋性数

在这里插入图片描述
码蹄集网站地址:https://www.matiji.net/exam/ojquestionlist


目录

MT1221 分数的总和

(1)题目


格式


样例1


(2)参考代码

#include<stdio.h>
#define N 20
int main() 
{
    double a[N], b[N], sum = 0;
    int i;
    a[0] = 1.0;
    a[1] = 2.0;
    b[0] = 2.0;
    b[1] = 3.0;
    for (i=2;i<N;i++)
    {
        a[i] = a[i-1] + a[i-2];
        b[i] = b[i-1] + b[i-2];
    }
    //校验数据
    // for (i=0;i<N;i++)
    // {
    //     printf("%lf %lf\n", a[i], b[i]);
    // }
    for (i=0;i<N;i++)
    {
        sum = sum + (b[i] / a[i]);
    }
    printf("%.2lf", sum);
}

MT1222 等差数列

(1)题目
求等差数列前N项的级数之和。不考虑不合理的输入等特殊情况。


格式

输入格式:
输入N,首项M,差值K,整型,空格分隔。


输出格式:
输出整型

样例1

输入:
5 1 3

输出:
35

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int N, M, K;
    scanf("%d %d %d", &N, &M, &K);
    printf("%d\n", M * N + N * (N - 1) * K / 2);
    return 0; 
}

MT1223 N是什么

(1)题目
给定一系列数字3、10、21、36…,输入正整数N,输出上述序列的第N个值。从N=1开始计数。


格式

输入格式:
输入正整数N


输出格式:
输出整型

样例1

输入:
5

输出:
55

备注

N小于10000

(2)参考代码

#include<stdio.h>
int main()
{
    int N, num, i = 3;
    scanf("%d", &N);
    num = N * (i + 2 * (N - 1));
    printf("%d\n", num);
}

MT1224 棋盘

(1)题目
求一个N*N棋盘中的方块总数。


格式

输入格式:
输入整型N    


输出格式:
输出整型

样例1

输入:
2

输出:
5

备注

考虑到取值范围,可用long整型定义变量

(2)参考代码

#include<stdio.h>
int main() 
{
    int N;
    long count = 0;
    scanf("%d", &N);
    for (int i = 1;i<=N;i++)
    {
        count += (i * i);
    }
    printf("%ld", count);
    return 0; 
}

MT1225 复杂分数

(1)题目
编写程序连续输入a1、a2、…、a5,计算下列表达式的值并输出。本题不考虑输入0,负数或者其他特殊情况。
在这里插入图片描述


格式

输入格式: 
输入整型,空格分隔。

输出格式: 
输出为实型

样例1

输入格式: 
1 2 3 4 5

输出格式: 
1.571429

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double a[5];
    for (int i=0;i<5;i++)
    {
        scanf("%lf", &a[i]);
    }
    double num = a[4];
    for (int i=3;i>=0;i--)
    {
        num = 1 + a[i] / num;
    }
    printf("%lf", num);
    return 0; 
}


MT1226 解不等式

(1)题目
n为正整数,求解n满足不等式:在这里插入图片描述


格式

输入格式:
输入正整数a,b,空格分隔。


输出格式:
输出整型区间上下限,空格分隔。

样例1

输入:
2010 2011

输出:
18611 18621

备注

对于100%的数据:1<=n<=100,000,1<=a<b

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int a, b, n1, n2;
    scanf("%d %d", &a, &b);
    double sum = 0, num = 0;
    for (int i=1;;i++)
    {
        num += (1.0 / (double)i);
        sum += 1.0 / num;
        if (a < sum)
        {
            n1 = i;
            break;
        }
    }
    for (int i=n1+1;;i++)
    {
        num += (1.0 / (double)i);
        sum += 1.0 / num;
        if (b <= sum)
        {
            n2 = i - 1;
            break;
        }
    }
    printf("%d %d", n1, n2);
    return 0; 
}

MT1227 宝宝爬楼梯

(1)题目
楼梯有N个台阶(N<=10),宝宝想爬到顶部。她一次可以爬1级或2级台阶。统计宝宝可以用多少种方式爬到达顶端。


格式

输入格式: 
输入正整数N

输出格式: 
输出整型

样例1

输入格式: 
4

输出格式: 
5

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int a[10] = {0, 1, 2};
    int N;
    scanf("%d", &N);
    for (int i=3;i<=N;i++)
    {
        a[i] = a[i-1] + a[i-2];
    }
    printf("%d\n", a[N]);
    return 0; 
}

MT1228 宝宝抢糖果

(1)题目
宝宝们一起抢N个糖果(N<=10),手快的宝宝可以抢到2个糖果,手慢的只能抢到一个糖果。统计糖果可以多少种方式被瓜分。


格式

输入格式:
输入正整数N


输出格式:
输出整型

样例1

输入:
4

输出:
5

(2)参考代码



MT1229 搬家公司

(1)题目
N件家具(N<=10),力气大的一次可以搬2件,力气小的一次只能搬1件。统计家具可以用多少种方式搬完。


格式

输入格式: 
输入正整数N

输出格式: 
输出整型

样例1

输入格式: 
4

输出格式: 
5

(2)参考代码

**#include<stdio.h>
int main() 
{ 
    int N, a[100] = {0, 1, 2};
    scanf("%d", &N);
    for (int i=3;i<=N;i++)
    {
        a[i] = a[i-1] + a[i-2];
    }
    printf("%d", a[N]);
    return 0; 
}**

MT1230 圆周率

(1)题目
编写一个程序,使用以下公式计算PI的近似值PI=4(1-1/3+1/5-1/7+1/9…)。括号中的最后一项应小于十的负六次方。


格式

输入格式:
无


输出格式:
输出为实型,保留2位小数

样例1

输入:
无

输出:
3.14

(2)参考代码

#include<stdio.h>
int main()
{
    double x = 0, PI = 0;
    for (int i = 1;;i += 2)
    {
        x = 1 / (double)i;
        if (x < 1e-6)
        {
            break;
        }
        if (i % 4 == 3)
        {
            x = -x;
        }
        PI += x;
    }
    printf("%.2lf\n", 4 * PI);
    return 0;
}

MT1231圆周率II

(1)题目
由近似公式: T/2=2/1 * 2/3* 4/3 * 4/56/56/7 *8/7 * 8/9…,求圆周率(精确到10的-6次方)。


格式

输入格式: 
无

输出格式: 
输出为实型,2位小数

样例1

输入格式:
 无

输出格式: 
3.14

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double num = 1;
    for (double i=1;i<=1000000;i++)
    {
        if ((int)i % 2)
        {
            num *= ((i + 1) / i);
        }
        else
        {
            num *= (i / (i + 1));
        }
    }
    printf("%.2lf", num * 2);
    return 0; 
}

MT1232 数字和

(1)题目
请编写一个简单程序,求一个数的各位数字之和。比如输入123,输出1+2+3的和6.


格式

输入格式:
输入整型 


输出格式:
输出整型 

样例1

输入:
123

输出:
6

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int x, sum = 0;
    scanf("%d", &x);
    while (x)
    {
        sum += x % 10;
        x /= 10;
    }
    printf("%d", sum);
    return 0; 
}

MT1233 数字之和

(1)题目
求一个自然数n中各位数字之和(n由用户输入)。不考虑负数等特殊情况。


格式

输入格式:
输入为整型


输出格式:
输出为整型

样例1

输入:
567

输出:
18

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int n, count = 0, sum = 0;
    scanf("%d", &n);
    int temp = n;
    while (temp)
    {
        temp /= 10;
        count++;
    }
    for (int i=0;i<count;i++)
    {
        sum += n % 10;
        n /= 10;
    }
    printf("%d", sum);
    return 0; 
}

MT1234 一个数字

(1)题目
输入一个非负整数N,重复将其所有数字相加,直到结果只有一个数字,输出这个数字,输出最小列宽3列。


格式

输入格式:
输入整型


输出格式:
输出整型

样例1

输入:
89

输出:
  8

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int N, sum;
    scanf("%d", &N);

    do{
        sum = 0;
        while (N)
        {
            sum += N % 10;
            N /= 10;
        }
        N = sum;
    }while (sum >= 10);
    printf("%3d\n", sum);
    return 0; 
}

MT1235 回文数字

(1)题目
请编写一个简单程序,检查数字是否为回文。像12521,123321,这样的从左向右读和从右向左读是一样的数字是回文数字。


格式

输入格式: 
输入整型

输出格式: 
输出Y或N

样例1

输入格式: 
12521

输出格式: 
Y

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int n;
    scanf("%d", &n);
    int temp = n, N = 0;
    while (temp)
    {
        N = (N * 10) + (temp % 10);
        temp /= 10;
    }
    if (N == n)
    {
        printf("Y");
    }
    else
    {
        printf("N");
    }
    return 0; 
}


MT1236 回文

(1)题目
输入正整数N,判断N的各位数字之和是否为回文数。(注:回文数是一个在反转时保持不变的数。比如121,7等。)不考虑不合理的输入等特殊情况。


格式

输入格式:
输入正整数N


输出格式:
输出YES或者NO

样例1

输入:
56

输出:
YES

备注

测试数据集输入数据包含长整型。

(2)参考代码



MT1237 六六大顺

(1)题目
输入正整数N,输出N以内(含N),6的倍数,并且包含6的数字,比如36等。


格式

输入格式:
输入整型

输出格式: 
输出整型,空格分隔

样例1

输入格式:
 40

输出格式:
 6 36

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int N;
    scanf("%d", &N);
    for (int i=1;i<=N;i++)
    {
        int temp = i, flag = 0;
        while (temp)
        {
            if (temp % 10 == 6)
            {
                flag = 1;
            }
            temp /= 10;
        }
        if (flag == 1)
        {
            if (i % 6 == 0)
            {
                printf("%d ", i);
            }
        }
    }
    return 0; 
}

MT1238 幸运数字3

(1)题目
输入正整数N,输出N以内(含N) 3的倍数,或者包含3的数字,比如13,32等。


格式

输入格式: 
输入整型

输出格式: 
输出整型,空格分隔。

样例1

输入格式: 
20

输出格式: 
3 6 9 12 13 15 18

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int N, temp, flag;
    scanf("%d", &N);
    for (int i=3;i<=N;i++)
    {
        temp = i;
        flag = 0;
        while (temp)
        {
            if (temp % 10 == 3)
            {
                printf("%d ", i);
                flag = 1;
                break;
            } 
            temp /= 10;
        }
        if (flag == 0 && i % 3 == 0)
        {
            printf("%d ", i);
        }
    }
    return 0; 
}

MT1239 自恋性数

(1)题目
请编写一个简单程序,判断自恋性数。如果一个正整数等于其各个数字的立方和,则称该数为自恋性数(亦称为阿姆斯特朗数)


格式

输入格式:
输入整型 


输出格式:
输出Y或者N

样例1

输入:
407

输出:
Y

(2)参考代码

#include<stdio.h>
#include<math.h>
int main() 
{ 
    int x, temp, count = 0;
    scanf("%d", &x);
    temp = x;
    while (temp)
    {
        count += pow(temp % 10, 3); 
        temp /= 10;
    }
    if (x == count)
    {
        printf("Y");
    }
    else
    {
        printf("N");
    }
    return 0; 
}

MT1240 好多自恋性数

(1)题目
请编写一个简单程序,输入正整数n,输出n以内自恋性数。如果一个正整数等于其各个数字的立方和,则称该数为自恋性数(亦称为阿姆斯特朗数)


格式

输入格式: 
输入为整型

输出格式: 
输出整型,空格分隔

样例1

输入格式: 
500

输出格式: 
1 153 370 371 407

(2)参考代码

#include<stdio.h>
#include<math.h>
int main() 
{ 
    int n, temp, num;
    scanf("%d", &n);
    for (int i=1;i<=n;i++)
    {
        temp = i;
        num = 0;
        while (temp)
        {
            num += pow((double)(temp % 10), 3.0);
            temp /= 10;
        }
        if (num == i)
        {
            printf("%d ", i);
        }
    }
    return 0; 
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OLED透明屏:在广告领域中的应用,为品牌注入更强的视觉冲击

OLED透明屏作为一项引人注目的技术创新&#xff0c;其独特的透明度和高清晰度为各行各业带来了全新的展示和创意空间。 本文将详细介绍其透明度、高对比度、超薄柔性设计以及强大的颜色表现力&#xff0c;并探讨其在零售、汽车和建筑等领域的应用前景。 一、透明度&#xff1a…

大数据Flink(六十七):SQL Table 简介及运行环境

文章目录 SQL & Table 简介及运行环境 一、​​​​​​​​​​​​​​简介 二、案例

Ansible 生成主机文件

生成主机文件 将一个初始模板文件从 http://materials/hosts.j2 下载到 /home/greg/ansible 完成该模板&#xff0c;以便用它生成以下文件&#xff1a;针对每个清单主机包含一行内容&#xff0c;其格式与 /etc/hosts 相同 创建名为 /home/greg/ansible/hosts.yml 的 playboo…

谁才是Python最强IDE?

本文概述了大量优秀的 Python IDE 和其他工具。决定使用哪一种工具取决于工具的便利性和对工具的熟练程度。当然&#xff0c;也有大家都喜欢的工具&#xff08;如 PyCharm&#xff09;&#xff0c;但是你可以多尝试几种工具&#xff0c;看看哪种最适合你。 每个人都知道这一点…

张量分解--CP、Tucker分解

目录 符号和准备工作 张量 实例 Fiber Slice norm 张量内积 秩一张量 回顾一下SVD分解 对角张量 张量的矩阵化与向量化 Kolda水平展开 具体例子 mode-n product CP分解 张量CP分解的定义 向量的外积 CP秩 张量CP分解的理解 Tucker分解 线性变化改变向量维度…

再见 Xshell替代工具Tabby

替代Xshell 之前经常使用Xshell来操作Linux虚拟机&#xff0c;基本上是够用了。但是Xshell免费使用只供非商业用途&#xff0c;而且如果你想用FTP来进行文件传输的话&#xff0c;还需单独下载Xftp。 无意中发现了另一款开源的终端工具Tabby&#xff0c;它直接集成了SFTP功能&…

一个简单的web应用程序的创建

一个简单的web应用程序的创建 1、数据库设计与创建1.1、数据库系统1.2、Navicat Premium1.3、Power Designer2、使用maven创建SpringBoot项目2.1、配置maven2.2、安装idea2.3、使用idea创建maven项目2.4、根据需要配置pom.xml文件、配置项目启动相关的文件2.5、写SpringBoot项目…

Redis之stream类型解读

目录 基本介绍 数据结构 消息 消费组 消费者 基本使用命令 概述 xadd 命令 xtrim 命令 xdel 命令 xlen 命令 xrange 命令 xread 命令 xgroup 命令 xreadgroup 命令 xack 命令 基本介绍 Redis stream&#xff08;流&#xff09;是一种数据结构&#xff0c;其…

【dasctf】easy_log

base解码可得压缩包密码 二分法盲注 import urllib.parse,re with open(raccess.log,r) as f:logf.readlines() dict1{} count0 #判断逻辑&#xff0c;最后一个fasle则取自身&#xff1b;最后一个为true则加1&#xff1b; for each in log:resre.findall(rflag\),(\d),1\)\)…

CEdit 选中文字实时更新到另一个控件中

有时候&#xff0c;我们会遇到需求&#xff0c;软件中需要让选中一个CEdit控件中的文字实时更新到另一个控件中&#xff0c;实现效果如下所示&#xff1a; 代码如下&#xff1a; BOOL CEditDemoDlg::PreTranslateMessage(MSG* pMsg) { CEdit* pOldEdit (CEdit*)GetDlgIte…

Linux驱动开发一、RK3568把hello编译到Linux内核中运行。‘rk_vendor_read’未定义的引用

1、在字符设备目录下建立hello目录 ~/Linux/rk356x_linux/kernel/drivers/char/hello 2、进入hello目录&#xff0c;新建hello.c、Makefile、Kconfig三个文件 3、Kconfig是打开make menuconfig配置界面是后的选项&#xff0c;这Kconfig是在字符设备下的。 config HELLOtrist…

哪些测试仪器可以用于检测静电中和设备的性能

静电设备性能测试通常需要使用一些专门的仪器来进行。以下是一些常见的静电设备性能测试仪器&#xff1a; 1. 静电电压测试仪&#xff1a;用于测量物体表面的静电电压。它通常可以测量正负电压&#xff0c;并具有高精度和快速响应的特点。 2. 静电电荷仪&#xff1a;用于测量物…

探讨uniapp的页面问题

1 新建页面 uni-app中的页面&#xff0c;默认保存在工程根目录下的pages目录下。 每次新建页面&#xff0c;均需在pages.json中配置pages列表&#xff1b; 未在pages.json -> pages 中注册的页面&#xff0c;uni-app会在编译阶段进行忽略。pages.json的完整配置参考&am…

新能源发电变流关键技术开发

新能源发电变流技术开发 文章目录 新能源发电变流技术开发前言新能源并网电力质量控制电能储存风能、光伏等行业新能源汽车新型城区的能源建设因此,可以说,新能源发电变流技术在电力系统与现代新能源行业中具有重要的应用地位,它对提高新能源发电的可靠性、电力质量、储能等…

基于Java+SpringBoot+Vue前后端分离常规应急物资管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

理解图傅里叶变换和图卷积

图神经网络&#xff08;GNN&#xff09;代表了一类强大的深度神经网络架构。在一个日益互联的世界里&#xff0c;因为信息的联通性&#xff0c;大部分的信息可以被建模为图。例如&#xff0c;化合物中的原子是节点&#xff0c;它们之间的键是边。 图神经网络的美妙之处在于它们…

CSS 属性值计算过程

目录 例子1&#xff0c;确定声明值2&#xff0c;层叠冲突2.1&#xff0c;比较源重要性2.2&#xff0c;比较优先级2.3&#xff0c;比较源次序 3&#xff0c;使用继承4&#xff0c;使用默认值其他 例子 我们来举例说明<h1> 标签最终的样式&#xff1a; <div><h1…

Hugo·Stack主题·杂记

运行环境 hugo版本&#xff1a;v0.117.0&#xff08;扩展版&#xff09; go&#xff1a;1.21.0 PowerShell 7&#xff08;x64&#xff09; Windows10 添加主题 git submodule add https://github.com/CaiJimmy/hugo-theme-stack/ themes/hugo-theme-stack修改配置文件 m…

C语言入门 Day_10 判断的进阶

目录 前言 1.多重判断 2.代码块 3.条件运算符 3.易错点 4.思维导图 前言 if和else能够处理两种不同的情况&#xff0c;如果&#xff08;if&#xff09;满足条件&#xff0c;我们就执行这几行代码&#xff1b;否则&#xff08;else&#xff09;的话&#xff0c;我们就执行…

快速排序三种思路详解!

一、快速排序的介绍 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中 的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&#xff0c;左子序列中所有元素均小于基准值&#xff0c;…