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

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

  • 目录
    • MT1181 圆包含
    • MT1182 圆相交
    • MT1183 矩形包含
    • MT1184 矩形相交
    • MT1185 while循环
    • MT1186 do-while循环
    • MT1187 累加和
    • MT1188 平均值
    • MT1189 正数负数的和
    • MT1190 分数乘法
    • MT1191 减半
    • MT1192 翻倍
    • MT1193 偶数的平方和
    • MT1194 奇数的平方和
    • MT1195 公式求和
    • MT1196 阶乘
    • MT1197 阶乘和
    • MT1198 阶乘差
    • MT1199 公式计算
    • MT1200 常数e

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


目录

MT1181 圆包含

(1)题目
输入2个圆的圆心的坐标值(x,y)和半径,判断断一个圆是否完全包含另一个圆,输出YES或者NO。另:内切不算做完全包含。


格式

输入格式: 
输入整型,空格分隔。每行输入一组信息。输出格式: 
输出YES或者NO

样例1

输入格式:
-20 20 50
50 50 1输出格式: 
NO

(2)参考代码

#include<stdio.h>
#include<math.h>
int main()
{int x1, y1, r1;int x2, y2, r2;scanf("%d %d %d", &x1, &y1, &r1);scanf("%d %d %d", &x2, &y2, &r2);int AB;if (r1 > r2){AB = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));if (AB < (r1 - r2)){printf("YES");}else{printf("NO");}}else if (r1 < r2){AB = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));if (AB < (r2 - r1)){printf("YES");}else{printf("NO");}}else{printf("NO");}return 0;
}

MT1182 圆相交

(1)题目
输入2个圆的圆心的坐标值(x,y)和半径,判断2个圆是否相交,输出YES或者NO。


格式

输入格式: 
输入整型,空格分隔。每行输入一组信息。输出格式: 
输出YES或者NO

样例1

输入格式:
-20 20 50
50 50 1输出格式: 
NO

(2)参考代码

#include<stdio.h>
#include<math.h>
int main() 
{ int x1, y1, r1, x2, y2, r2;scanf("%d %d %d", &x1, &y1, &r1);scanf("%d %d %d", &x2, &y2, &r2);int AB = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));if (r1 >= r2){if (AB >= (r1 - r2) && AB < (r1 + r2)){printf("YES");}else{printf("NO");}}else{if (AB >= (r2 - r1) && AB < (r1 + r2)){printf("YES");}else{printf("NO");}}return 0; 
}

MT1183 矩形包含

(1)题目
输入2个矩形的左上角和右下角两个点的坐标值(x,y),判断2个矩形是否相互包含(一个在另一个内部,边框不重叠),输出YES或者NO。矩形的边应与x,y轴相平行。


格式

输入格式:
输入整型,空格分隔。 每行输入一组信息。输出格式:
输出YES或者NO

样例1

输入:
-20 20 20 -10 
-10 10 10 -5输出:
YES

(2)参考代码

#include<stdio.h>
int main()
{int x1, y1, x2, y2, x3, y3, x4, y4;scanf("%d %d %d %d", &x1, &y1, &x2, &y2);scanf("%d %d %d %d", &x3, &y3, &x4, &y4);if ((x1 < x3 && x3 < x2 && y3 < y1 && y3 > y2) && (x1 < x4 && x4 < x2 && y4 < y1 && y4 > y2)){printf("YES");}else if ((x3 < x1 && x1 < x4 && y1 < y3 && y1 > y4) && (x3 < x2 && x2 < x4 && y2 < y3 && y2 > y4)){printf("YES");}else{printf("NO");}return 0;
}

MT1184 矩形相交

(1)题目
输入2个矩形的左上角和右下角两个点的坐标值(x,y),判断2个矩形是否相交,输出YES或者NO。矩形的边应与x,y轴相平行。假定输入坐标能顺利构成矩形,不考虑无效矩形的情况。


格式

输入格式:
输入整型,空格分隔。 每行输入一组信息。输出格式:
输出YES或者NO

样例1

输入:
-20 20 20 -10 
-10 10 10 -5输出:
NO

(2)参考代码



MT1185 while循环

(1)题目
请编写一个简单程序,从小到大输出所有小于8的正整数和0(从0开始输出)。


格式

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

样例1

输入:
无输出:
0 1 2 3 4 5 6 7

(2)参考代码

#include<stdio.h>
int main() 
{int i = 0;while (i < 8){printf("%d ", i);i++;}return 0; 
}

MT1186 do-while循环

(1)题目
请编写一个简单程序,从大到小输出所有小于n的正整数,直到0为止(不含0)。n从键盘输入


格式

输入格式:
输入整型数n输出格式:
输出整型,空格分隔 

样例1

输入:
10输出:
10 9 8 7 6 5 4 3 2 1

(2)参考代码

#include<stdio.h>
int main() 
{int n;scanf("%d", &n);do{printf("%d ", n);n--;}while(n);return 0; 
}

MT1187 累加和

(1)题目
从1累加到10,输出累加和


格式

输入格式:
无输出格式:
输出整型

样例1

输入:
无输出:
55

(2)参考代码

#include<stdio.h>
int main() 
{int i;int sum = 0;for (i=0;i<=10;i++){sum += i;}printf("%d", sum);return 0; 
}

MT1188 平均值

(1)题目
请编写一个简单程序,随机输入n个数字,输出他们的平均值


格式

输入格式:
输入分两行,第一行输入n,第二行输入n个float型数据,空格分隔输出格式:
输出float型,空格分隔,保留2位小数

样例1

输入:
5
1 3 6 2 5.2 输出:
3.44

(2)参考代码

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

MT1189 正数负数的和

(1)题目
编写程序先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果。


格式

输入格式:
输入分两行,第一行输入整数n,第二行输入n个实数,空格分隔。输出格式:
输出正数的和,和负数的和,实型,中间一个空格

样例1

输入:
4  
1 -3 0.5 -2输出:
1.500000 -5.000000

(2)参考代码

#include<stdio.h>
int main() 
{int n, i;double temp, p_sum = 0, n_sum = 0;scanf("%d", &n);for (i=0;i<n;i++){scanf("%lf", &temp);if (temp >= 0){p_sum += temp;}else{n_sum += temp;}}printf("%lf %lf", p_sum, n_sum);return 0; 
}

MT1190 分数乘法

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


格式

输入格式:
输入整型,每组一行,如样例所示。输出格式:
输出计算结果实型,如样例所示。

样例1

输入:
1/2 1/4  
2/3 1/7  
3/5 2/7
3/13 2/5
1/9 11/15输出:
0.125000  
0.095238  
0.171429  
0.092308  
0.081481

(2)参考代码

#include<stdio.h>
int main() 
{double x1, y1, x2, y2, i, result;for (i=0;i<5;i++){scanf("%lf/%lf %lf/%lf", &x1, &y1, &x2, &y2);result = (x1 / y1) * (x2 / y2);printf("%lf\n", result);}return 0; 
}

MT1191 减半

(1)题目
输入两个值N和M,输出N做M次减半后的值。比如100,减半后依次为50, 25, 12…,减半3次后是12。输入不考虑0,负数或者其他特殊情况。


格式

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

样例1

输入:
100 3输出:
12

(2)参考代码

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

MT1192 翻倍

(1)题目
输入两个值N和M。输出N做M次翻倍后的值。比如12,翻倍后依次为24, 48, 96…。输入不考虑0,负数或者其他特殊情况。


格式

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

样例1

输入:
12 3输出:
96

(2)参考代码

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

MT1193 偶数的平方和

(1)题目
输入正整数N,求前N个偶数的平方和。不考虑溢出。


格式

输入格式:
输入正整数N输出格式:
输入整型

样例1

输入:
3输出:
56

备注

本题第一个偶数从2起算

(2)参考代码

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

MT1194 奇数的平方和

(1)题目
输入正整数N,求前N个奇数的平方和。不考虑溢出。


格式

输入格式:
输入正整数N输出格式:
输入整型

样例1

输入:
3输出:
35

(2)参考代码

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

MT1195 公式求和

(1)题目
输入正整数N和M,按照下列公式求和。
在这里插入图片描述


格式

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

样例1

输入:
2 4输出:
0.42361

(2)参考代码

#include<stdio.h>
int main() 
{int N, M, i;double sum = 0;scanf("%d %d", &N, &M);for (i=N;i<=M;i++){sum += 1.0/(i*i);}printf("%.5lf", sum);return 0; 
}

MT1196 阶乘

(1)题目
请编写一个简单程序,输入正整数n,输出n的阶乘。


格式

输入格式:
输入整型输出格式:
输出整型 

样例1

输入:
5输出:
5!=120

(2)参考代码

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

MT1197 阶乘和

(1)题目
求1!+2!+3!+…+n!


格式

输入格式:
输入为整型输出格式:
输出为整型

样例1

输入:
5输出:
153

(2)参考代码

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

MT1198 阶乘差

(1)题目
求1!-2!-3!-…-n!


格式

输入格式:
输入为整型输出格式:
输出为整型

样例1

输入:
5输出:
-151

(2)参考代码

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

MT1199 公式计算

(1)题目
输入正整数n和r,计算公式 (n!) / (n-r)!。


格式

输入格式:
输入整型,空格分隔。输出格式:
输出实型,保留2位小数。

样例1

输入:
2 1输出:
2.00

(2)参考代码

#include<stdio.h>
int main() 
{ int n, r, i;scanf("%d %d", &n, &r);double num1 = 1, num2 = 1;for (i=1;i<=n;i++){num1 *= i;}for (i=1;i<=(n-r);i++){num2 *= i;}printf("%.2lf\n", num1 / num2);return 0; 
}

MT1200 常数e

(1)题目
常数e的值可以表示为无穷级数: e=1+1/1!+1/2!+1/3! +… 1/n!编写一个程序,计算e的值,其中n是用户输入的整数。输入不考虑0,负数或者其他特殊情况。


格式

输入格式:
输入整型,空格分隔。输出格式: 
输出实型,保留2位小数。

样例1

输入格式: 
7输出格式: 
2.72

(2)参考代码

#include<stdio.h>
int main() 
{ int n, sum;double e = 1;scanf("%d", &n);for (int i=1;i<=n;i++){sum = 1;for (int j=1;j<=i;j++){sum *= j;}e += 1.0 / sum;}printf("%.2lf", e);return 0; 
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端】快速掌握HTML+CSS核心知识点

文章目录 1.HTML核心基础知识1.1.编写第一个HTML网页1.2.超链接a标签和路径1.3.图像img标签的用法1.4.表格table标签用法1.5.列表ul、ol、dl标签用法1.6.表单form标签用法1.7.区块标签和行内标签用法 2.CSS核心基础知识2.1.CSS标签选择器viewport布局2.2.CSS样式的几种写法2.3.…

算法通关村第4关【青铜】| 栈基础

1. 栈基础 栈的特征&#xff1a; 存取受限的线性表后进先出 栈的操作&#xff1a; push()pop()peek()empty() 2.数组实现栈 限制数组的存取规则&#xff0c;实现后进先出。注意数组边界的处理 public class Stack1<T> {private Object[] stack;private int top;//…

问题解决 | 关于torch中遇到的错误及解决

本博客主要解决在torch使用中遇到的问题与解决~ 1.安装相关问题 1.1.conda虚拟环境内无法安装torch&#xff08;pip install torch &#xff09; 解决方案&#xff1a; 如果是GPU版本&#xff0c;先查看cuda版本如果nvcc -V 命令运行后出来的是cuda11.3的话&#xff0c;其他…

机器学习重要内容:特征工程之特征抽取

目录 1、简介 2、⭐为什么需要特征工程 3、特征抽取 3.1、简介 3.2、特征提取主要内容 3.3、字典特征提取 3.4、"one-hot"编码 3.5、文本特征提取 3.5.1、英文文本 3.5.2、结巴分词 3.5.3、中文文本 3.5.4、Tf-idf ⭐所属专栏&#xff1a;人工智能 文中提…

Java教程:如何使用切面环绕方法对所有接口进行添加出入参日志保存功能

背景&#xff1a; ----在很多时候我们做开发时&#xff0c;往往只是提供一个对外接口来进行前后端调试&#xff0c;或第三方系统联调&#xff0c;并使用log进行日志打印&#xff0c;每当出现问题进行排查时&#xff0c;只需要查看服务器日志就可以定位到问题&#xff0c;从而解…

docker之简介与安装

环境配置问题 没有虚拟机&#xff0c;我们往往是打包代码发给对方&#xff0c;然后让对方安装相应的环境&#xff0c;比如node、数据库&#xff0c;要是配置不同&#xff0c;项目很有可能无法运行&#xff0c;还会报错&#xff0c;如果多个人想要运行这份代码&#xff0c;那还得…

【Redis】Redis中的布隆过滤器

【Redis】Redis中的布隆过滤器 前言 在实际开发中&#xff0c;会遇到很多要判断一个元素是否在某个集合中的业务场景&#xff0c;类似于垃圾邮件的识别&#xff0c;恶意IP地址的访问&#xff0c;缓存穿透等情况。类似于缓存穿透这种情况&#xff0c;有许多的解决方法&#xf…

【计算机设计大赛】国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统

文章目录 一、计算机设计大赛国赛一等奖二、项目背景三、项目简介四、系统架构五、系统功能结构六、项目特色&#xff08;1&#xff09;多端融合&#xff08;2&#xff09;数据可视化&#xff08;3&#xff09;计算机视觉&#xff08;目标检测&#xff09; 七、系统界面设计&am…

PyQt5资源的加载和使用,即如何使用Pyrcc

1、打开QtDesigner&#xff0c;选择编辑资源 2、新建资源文件&#xff0c;随便找个地方保存 3、按照自己的喜好命名&#xff0c;然后添加资源 4、保存并退出 5、我们创建一个QLabel&#xff0c;在这里添加资源 6、我们保存界面文件&#xff0c;并编译为py文件&#xff0c;然后…

GPT系列总结

1.GPT1 无监督预训练有监督的子任务finetuning https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf 1.1 Unsupervised pre-training &#xff08;1&#xff09;基于一个transformer decoder&#xff0c;通过一个窗口的输入得…

Python高光谱遥感数据处理与高光谱遥感机器学习方法教程

详情点击链接&#xff1a;Python高光谱遥感数据处理与高光谱遥感机器学习方法教程 第一&#xff1a;高光谱基础 一&#xff1a;高光谱遥感基本 01)高光谱遥感 02)光的波长 03)光谱分辨率 04)高光谱遥感的历史和发展 二&#xff1a;高光谱传感器与数据获取 01)高光谱遥感…

FPGA_学习_17_IP核_ROM(无延迟-立即输出)

由于项目中关于厂商提供的温度-偏压曲线数据已经被同事放在ROM表了&#xff0c;我这边可用直接调用。 今天在仿真的时候&#xff0c;发现他的ROM表用的IP核是及时输出的&#xff0c;就是你地址给进去&#xff0c;对应地址的ROM数据就立马输出&#xff0c;没有延迟。 我打开他的…