算法竞赛入门【码蹄集新手村600题】(MT1060-1080)

news2024/11/16 19:34:16

算法竞赛入门【码蹄集新手村600题】(MT1060-1080)

  • 目录
    • MT1061 圆锥体的体积
    • MT1062 圆锥体表面积
    • MT1063 立方体的体积
    • MT1064 立方体的表面积
    • MT1065 长方体的表面积
    • MT1066 射线
    • MT1067 线段
    • MT1068 直线切平面
    • MT1069 圆切平面
    • MT1070 随机数的游戏
    • MT1071 计算表达式的值
    • MT1072 分数运算
    • MT1073 时刻求和
    • MT1074 平方根和对数值
    • MT1075 平方根X
    • MT1076 三维空间两点
    • MT1077 幸运数
    • MT1078 整除幸运数
    • MT1079 floor函数
    • MT1080 乘积之和

在这里插入图片描述


目录

MT1061 圆锥体的体积

(1)题目
请编写一个简单程序,输入圆锥体的半径和高,输出圆锥体的体积。不考虑非法输入。


格式

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

输出格式:
输出实型

样例1

输入:
3 5

输出:
47.123889

(2)参考代码

#include<stdio.h>
#define PI 3.1415926
int main() 
{ 
    double r, h;
    scanf("%lf %lf", &r, &h);
    printf("%lf", 1.0/3.0 * h * (PI * r * r));
    return 0; 
}

MT1062 圆锥体表面积

(1)题目
请编写一个简单程序,输入圆锥体的半径和高,输出圆锥体表面积。不考虑非法输入。(PI= 3.1415926)


格式

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

输出格式: 
输出实型

样例1

输入格式:
 3 5

输出格式: 
83.229759

(2)参考代码

#include<stdio.h>
#include<math.h>
#define PI 3.1415926
int main() 
{
    double r, h;
    scanf("%lf %lf", &r, &h);
    printf("%lf", PI*r*r+PI*r*sqrt(r*r+h*h));
    return 0; 
}

MT1063 立方体的体积

(1)题目
输入立方体边长,输出立方体的体积。不考虑非法输入。


格式

输入格式:
输入实型

输出格式:
输出实型

样例1

输入:
3 

输出:
27.000000

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double x;
    scanf("%lf", &x);
    printf("%lf", x * x * x);
    return 0; 
}

MT1064 立方体的表面积

(1)题目
输入立方体边长,输出立方体的表面积。不考虑非法输入。


格式

输入格式:
输入实型

输出格式:
输出实型

样例1

输入:
3 

输出:
54.000000

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double x;
    scanf("%lf", &x);
    printf("%lf", x * x * 6);
    return 0; 
}

MT1065 长方体的表面积

(1)题目
输入长方体边长宽高,输出长方体的表面积。不考虑非法输入。


格式

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

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

样例1

输入:
3 2 4

输出:
52.000000

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double x, y, z;
    scanf("%lf %lf %lf", &x, &y, &z);
    printf("%.6lf", 2 * (x*y + y*z + z*x));
    return 0; 
}

MT1066 射线

(1)题目
在一条直线上点上N(N>=1)个点可以把这条直线分成多少条射线?N从键盘输入。不考虑负数,0或者其他特殊情况。


格式

输入格式:
输入为整型

输出格式:
输出为整型

样例1

输入:
3

输出:
6

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int N;
    scanf("%d", &N);
    printf("%d", 2*N);
    return 0; 
}

MT1067 线段

(1)题目
有一条直线,线上有n个点(n>=2),请问这条直线会被分隔成多少个线段。n从键盘输入。不考虑负数,0或者其他特殊情况。


格式

输入格式:
输入为整型

输出格式:
输出为整型

样例1

输入:
3

输出:
3

(2)参考代码

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

MT1068 直线切平面

(1)题目
直线切平面,输入直线条数N,问最多把平面分成几块。比如一条直线可以把一个平面切割成2块。可以使用公式S= n * (n+1)/2 +1 。不考虑负数,0或者其他特殊情况。


格式

输入格式:
输入为整型

输出格式:
输出为整型

样例1

输入:
5

输出:
16

(2)参考代码

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

MT1069 圆切平面

(1)题目
n个圆最多把平面分成几部分?输入圆的数量N,问最多把平面分成几块。比如一个圆以把一个平面切割成2块。 不考虑负数,0或者其他特殊情况。


格式

输入格式:
输入为整型

输出格式:
输出为整型

样例1

输入:
2

输出:
4

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double N;
    scanf("%lf", &N);
    printf("%.0lf", N * N - N + 2);
    return 0; 
}

MT1070 随机数的游戏

(1)题目
小码哥在1到10之间随机选择了一个数字N,然后把所选数字加倍,之后加上一个偶数K,然后把所得的数字除以2,再把得的商与原始数字N相减,输出他们的差。不考虑负数,0或者其他特殊情况。比如输入N和K分别为8和2,那么8*2=16,16+2=18,18/2=9,9-8=1,那么应该输出1。


格式

输入格式: 
输入为整型数字N和K,空格分隔

输出格式: 
输出为整型

样例1

输入格式: 
3 10

输出格式: 
5

(2)参考代码

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

MT1071 计算表达式的值

(1)题目
请编写一个简单程序,计算45除以2再加上43.41592,然后减去36除以7的商,输出运算结果。


格式

输入格式:
无

输出格式:
输出实型

样例1

输入:
无

输出:
60.773063 

(2)参考代码

#include<stdio.h>
int main() 
{ 
    printf("%lf", 45.0/2.0+43.41592-36.0/7.0);
    return 0; 
}

MT1072 分数运算

(1)题目
输入两个分数,对他们进行加减乘除运算,输出结果。不考虑分母为0等特殊情况。


格式

输入格式: 
输入整型,如样例所示。

输出格式:
 输出计算结果实型,如样例所示。


样例1

输入格式: 
1/2 1/4

输出格式:
1/2 + 1/4=0.750000
1/2 - 1/4=0.250000
1/2 * 1/4=0.125000
1/2 / 1/4=2.000000

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double x, y, a, b, z1, z2;
    scanf("%lf/%lf %lf/%lf", &x, &y, &a, &b);
    z1 = x / y;
    z2 = a / b;
    printf("%.0lf/%.0lf + %.0lf/%.0lf=%lf\n", x, y, a, b, z1+z2);
    printf("%.0lf/%.0lf - %.0lf/%.0lf=%lf\n", x, y, a, b, z1-z2);
    printf("%.0lf/%.0lf * %.0lf/%.0lf=%lf\n", x, y, a, b, z1*z2);
    printf("%.0lf/%.0lf / %.0lf/%.0lf=%lf\n", x, y, a, b, z1/z2);
    return 0; 
}

MT1073 时刻求和

(1)题目
输入正整数N和M,空格分隔。把他们看作在12小时制的时刻(小时)求和并输出,输出最小列宽为3列。


格式

输入格式:
输入正整数N和M,空格分隔。

输出格式:
输出整型

样例1

输入:
5 7

输出:
  0

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int N, M;
    scanf("%d %d", &N, &M);
    if (N+M>=12)
    {
        printf("%3d", N+M-12);
    }
    else
    {
        printf("%3d", N+M);
    }
    return 0; 
}

MT1074 平方根和对数值

(1)题目
请编写一个简单程序,计算求给定数的平方根、2个对数值(ln,lg)。


格式

输入格式:
输入实型

输出格式:
输出平方根、对数值,空格分隔,保留两位小数

样例1

输入:
5

输出:
2.24 1.61 0.70

(2)参考代码

#include<stdio.h>
#include<math.h>
int main() 
{ 
    double x;
    scanf("%lf", &x);
    printf("%.2lf %.2lf %.2lf", sqrt(x), log(x), log10(x));
    return 0; 
}

MT1075 平方根X

(1)题目
输入正整数N, 求N的平方根X。如果N不是一个完美的平方,输出floor(X) 。不考虑不合理的输入等特殊情况。


格式

输入格式:
输入正整数N

输出格式:
输出整型

样例1

输入:
5

输出:
2

(2)参考代码

#include<stdio.h>
#include<math.h>
int main() 
{ 
    int N;
    scanf("%d", &N);
    int n = (double)sqrt(N);
    printf("%d\n", n);
    return 0; 
}

MT1076 三维空间两点

(1)题目
输入三维空间两点坐标(x,y,z),计算两点之间的距离并输出。


格式

输入格式:
输入实型坐标(x,y,z),空格分隔。每行以一个点。

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

样例1

输入:
-20 20 0  
20 -10 0

输出:
50.00

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double x1, x2, y1, y2, z1, z2;
    scanf("%lf %lf %lf", &x1, &y1, &z1);
    scanf("%lf %lf %lf", &x2, &y2, &z2);
    printf("%.2lf\n", sqrt(pow(x2-x1, 2)+pow(y2-y1, 2)+pow(z2-z1, 2)));
    return 0; 
}

MT1077 幸运数

(1)题目
假定幸运数是只包含4或7的正整数,如7、47。判断一个正整数n是不是一个幸运数。是则输出YES,否则输出NO。不考虑负数,0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。


格式

输入格式:
输入为整型

输出格式:
是幸运数则输出YES,否则输出NO

样例1

输入:
47

输出:
YES

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int x, flag;
    scanf("%d", &x);
    while (x)
    {
        if (x % 10 == 4 || x % 10 == 7)
        {
            flag = 1;
            x /= 10;
        }
        else
        {
            flag = 0;
            break;
        }
    }
    if (flag == 1)
    {
        printf("YES");
    }
    else
    {
        printf("NO");
    }
    return 0; 
}

MT1078 整除幸运数

(1)题目
假定幸运数是只包含4或7的正整数,如7、47。判断一个正整数n是否能被一个幸运数整除。是则输出YES,否则输出NO。不考虑负数,0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。


格式

输入格式: 
输入为整型

输出格式: 
能被一个幸运数整除则输出YES,否则输出NO

样例1

输入格式: 
47

输出格式: 
YES

(2)参考代码

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

MT1079 floor函数

(1)题目
给定一个正整数n,求满足floor(n/x)=y的x和y (x和y是正整数)。比如输入5,则(x, y)的组合可以有:(1, 5), (2, 2), (3, 1), (4, 1), (5, 1)。不考虑负数,0或者其他特殊情况。


格式

输入格式:
输入为整型

输出格式:
输出为整型,空格分隔,每组一行。前一个数为x,后面一个为y。输出按照x从小到大的次序输出。

样例1

输入:
5

输出:
1 5  
2 2  
3 1  

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int n, y = 0;
    scanf("%d", &n);
    for (int x=1;x<=n;x++)
    {
        y = n / x;
        printf("%d %d\n", x, y);
    }
    return 0; 
}

MT1080 乘积之和

(1)题目
给定一个正整数n,求满足floor(n/x)=y的x和y的乘积之和 (x和y是正整数)。比如输入5,则(x, y)的组合可以有:(1, 5), (2, 2), (3, 1), (4, 1), (5, 1),那么, 1 * 5 + 2 * 2 + 3 * 1 + 4 * 1 + 5 * 1 = 5 + 4 + 3 + 4 + 5 = 21。不考虑负数,0或者其他特殊情况。


格式

输入格式:
输入为整型

输出格式:
输出为整型

样例1

输入:
5

输出:
21

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int n, y = 0, sum = 0;
    scanf("%d", &n);
    for (int x=1;x<=n;x++)
    {
        y = n / x;
        sum += x * y;
    }
    printf("%d\n", sum);
    return 0; 
}

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

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

相关文章

[vue] 新项目配置整理(没写完,回头有空继续)

省流版(vue2项目)&#xff1a; 脚手架&#xff1a;vue create xxxx vuex&#xff1a;npm i vuex3 router : npm install vue-router3 vue cli创建项目 vue create xxxx(项目名称) 添加基本配置 module.exports {lintOnSave: false, // 关闭eslint检查publicPath:./, //…

Python(四十七)列表对象的创建

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

JiaYu说:如何做好IT类的技术面试?

IT类的技术面试 面试IT公司的小技巧IT技术面试常见的问题嵌入式技术面试嵌入式技术面试常见的问题嵌入式软件/硬件面试题 JiaYu归属嵌入式行业&#xff0c;所以这里只是以普通程序员的角度去分析技术面试的技巧 当然&#xff0c;也对嵌入式技术面试做了小总结&#xff0c;友友们…

python 源码中 PyId_stdout 如何定义的

python 源代码中遇到一个变量名 PyId_stdout&#xff0c;搜不到在哪里定义的&#xff0c;如下只能搜到引用的位置&#xff08;python3.8.10&#xff09;&#xff1a; 找了半天发现是用宏来构造的声明语句&#xff1a; // filepath: Include/cpython/object.h typedef struct …

MIPI D-PHY 2.1协议(学习笔记)

1~3 简介/术语/参考文档 这三章属于介绍性内容&#xff0c;包括缩略语等名词术语解释内容&#xff0c;不再赘述。 直接进入以下正文部分 4 D-PHY概述 D-PHY描述了一种Source同步、高速、低功耗、低成本的PHY&#xff0c;特别适用于移动应用。这个D-PHY规范主要是为了将相机…

持续部署CICD

目录 &#xff08;1&#xff09;CICD的开展场景 &#xff08;2&#xff09;项目实际应用 CICD 是持续集成&#xff08;Continuous Integration&#xff09;和持续部署&#xff08;Continuous Deployment&#xff09;简称。指在研发过程中自动执行一系列脚本来降低开发引入 bug…

【雕爷学编程】Arduino动手做(175)---机智云ESP8266开发板模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【KVC补充 Objective-C语言】

一、KVC补充 好,那么接下来,再给大家说一下这个KVC 1.首先我们说,这个KVC,就是指的什么 key value coding 吧 全称就是叫做(Key Value Coding),这是它的全称 那么,你在帮助文档里面搜的时候,你就搜key-value coding 是不是这个啊,key-value coding 然后点击,进…

HashMap中hash方法的作用(详解)

首先&#xff0c;hash方法用来干什么&#xff1f; 在搞清楚原理之前&#xff0c;我们先站在巨人的肩膀浅浅了解一下hash方法的本质作用。 实质上&#xff0c;它的作用很朴素&#xff0c;就是用key值通过某种方式计算出一个hash码 而且这个hash码我们后面要用来计算key存在底…

数据链路层是如何传递数据的

数据链路层是如何传递数据的 数据链路层功能概述封装成帧透明传输差错控制 数据链路层功能概述 数据链路层的主要作用就是加强物理层传输原始比特流的功能。其负责将物理层提供的可能出错的物理连接&#xff0c;改造成逻辑上无差错的数据链路。 数据链路层包括三个基本问题&a…

ICML 2023 | 拓展机器学习的边界

编者按&#xff1a;如今&#xff0c;机器学习已成为人类未来发展的焦点领域&#xff0c;如何进一步拓展机器学习技术和理论的边界&#xff0c;是一个极富挑战性的重要话题。7月23日至29日&#xff0c;第四十届国际机器学习大会 ICML 2023 在美国夏威夷举行。该大会是由国际机器…

Go语言学习笔记(狂神说)

Go语言学习笔记&#xff08;狂神说&#xff09; 视频地址&#xff1a;https://www.bilibili.com/video/BV1ae41157o9 1、聊聊Go语言的历史 聊聊Go语言的历史-KuangStudy-文章 2、Go语言能做什么 下面列举的是原生使用Go语言进行开发的部分项目。 Docker Docker 是一种操作…

【雕爷学编程】Arduino动手做(99)---8X32 LED点阵屏模块4

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

vba案例1:合并工作簿,工作表

一&#xff1a;放文件 我应该有把文件资源放上去&#xff0c;第一次弄&#xff0c;不知道你们那边能不能看到excel的电子档表格&#xff0c;没有看到&#xff0c;教教我怎么放上去哦 二:自定义代码规整&#xff08;便于查看&#xff09; 接下来&#xff0c;我们进行代码解释…

数学建模学习(6):数学建模数据预处理专题

1 数据预处理是什么&#xff1f; 在数学建模赛题中&#xff0c;官方给所有参赛选手的数据可能受到主 观或客观条件的影响有一定的问题&#xff0c;如果不进行数据的处理而直 接使用的话可能对最终的结果造成一定的影响&#xff0c;因此为了保证数 据的真实性和建模结果的可靠…

简单理解大模型参数高效微调中的LoRA(Low-Rank Adaptation)

[论文地址] [代码] [ICLR 22] 阅前须知&#xff1a;本博文可能有描述不准确/过度简化/出错的地方&#xff0c;仅供参考。 网络结构 其中&#xff0c;原有模型的参数是直接冻结的&#xff0c;可训练参数只有额外引入的LoRA参数(由nn.Parameter实现)。 模型微调的本质 记网络原…

MySQL数据库——DML基本操作

文章目录 前言插入数据全列插入指定列插入 修改数据删除数据 前言 前面我们学习了MySQL——DDL操作&#xff0c;对数据库和表的结构的操作&#xff0c;那么今天我将为大家分享MySQL——DML操作&#xff0c;对表数据的操作。 MySQL DML操作有以下几种&#xff1a; 插入操作&am…

opencv-28 自适应阈值处理-cv2.adaptiveThreshold()

什么是自适应阈值处理? 对于色彩均衡的图像&#xff0c;直接使用一个阈值就能完成对图像的阈值化处理。但是&#xff0c;有时图像的色彩是不均衡的&#xff0c;此时如果只使用一个阈值&#xff0c;就无法得到清晰有效的阈值分割结果图像。 有一种改进的阈值处理技术&#xff…

【六大锁策略-各种锁的对比-Java中的Synchronized锁和ReentrantLock锁的特点分析-以及加锁的合适时机】

系列文章目录 文章目录 系列文章目录前言一、六大"有锁策略"1. 乐观锁——悲观锁2. 轻量级锁——重量级锁3. 自旋锁——挂起等待锁4. 互斥锁——读写锁5. 可重入锁——不可重入锁6. 公平锁——非公平锁 二、Synchronized——ReentrantLockSynchronized的特点&#xf…

掌握Python的X篇_13_Python条件语句实例:判断闰年、成绩评定

前面学习了条件语句以及调试的基本技巧&#xff0c;本篇介绍两个与条件语句有关的实例&#xff0c;对前面的知识又深刻认识。 文章目录 1. 判断闰年1.1 版本11.2 版本21.3 一行代码太长的处理方法 2. 根据成绩评级 1. 判断闰年 用户输入年份&#xff0c;判断该年份是否为闰年…