1032:大象喝水

这道题的原题不知道为何,叫大象喝水查。

【题目描述】

一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。

【输入】

输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。

【输出】

输出一行,包含一个整数,表示大象至少要喝水的桶数。

【输入样例】

23 11

【输出样例】

3

分析

1、要想做出这道题,我们就需要求出这个桶的体积。这个桶是一个圆柱体,体积为:

2、的单位为,而题干中是升。

3、在用毫升(升)除以桶的体积时需向上取整。

AC代码

#include<iostream>
#include<math.h>//数学库
using namespace std;
int main(){int h,r;cin>>h>>r;float v=r*r*3.14*h;cout<<ceil(20000/v)<<endl;//计算出桶数并向上取整输出return 0;
}

拓展——math.h数学库

<cmath> (math.h)

math.h(即cmath)声明了一些常用的数学函数。比如:

  • pow()幂函数。提供两个参数,分别为底数与指数,返回值为浮点型。
  • sqrt()开方(仅限平方)。提供一个数,返回,类型为浮点型。
  • abs()与fabs()绝对值函数。注意:这里指cmath中的绝对值函数!两者几乎没有区别,提供一个浮点数,返回它的绝对值,也是浮点数。
  • ceil():向上取整。
  • floor():向下取整。
  • round():四舍五入。

2032:【例4.18】分解质因数

【题目描述】

把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。

输入一个正整数n,将n分解成质因数乘积的形式。

【输入】

一个正整数n。

【输出】

分解成质因数乘积的形式。质因数必须由小到大,见样例。

【输入样例】

36

【输出样例】

36=2*2*3*3

【提示】

【数据范围】

对于所有数据,

 分析

有人拿到这道题觉得可能会分出合数,要做一个质数的数组,但其实不用!因为任何合数都是由质数组成的,你只需要像短除法一样去除就是了。比如60(我字有点丑):

 AC代码

#include<iostream>
using namespace std;
int main(){int n,m; cin>>n;m=n;bool b=1;cout<<n<<"=";for(int i=2;m!=1;i++){while(m%i==0){//除到除不尽if(!b)cout<<"*";//在第一个数前面没有乘号else b=0;cout<<i;m/=i;}}cout<<endl;return 0;
}


2048:【例5.18】串排序

【题目描述】

对给定的n(1≤n≤20)n(1≤n≤20)个国家名(国家名字长度不超过20),按其字母的顺序输出。

【输入】

第一行为国家的个数n;

以下n行为国家的名字。

【输出】

nn行,排序后的国名。

【输入样例】

3
Korea
China
Japan

【输出样例】

China
Japan
Korea

分析

这道题呢有的人觉得要排序,还要写个特别长的排序规则,实际上并没有那么麻烦,其实可以直接用algorithm(算法头文件)的sort()排序函数就是了。

AC代码

#include<iostream>
#include<string>
#include<algorithm>//算法头文件
using namespace std;
int main(){int n; cin>>n;string s[20];for(int i=0;i<n;i++)cin>>s[i];sort(s,s+n);//排序for(int i=0;i<n;i++)cout<<s[i]<<endl;return 0;
}

思考

如果不用字符串,用字符数组应该怎么做呢?


好了,练了几道题,今天就到这里了。拜拜!

一本通1032、2032、2048相关推荐

  1. 信息学奥赛一本通(2032:【例4.18】分解质因数)

    2032:[例4.18]分解质因数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 582     通过数: 376 [题目描述] 把一个合数分解成若干个质因数乘积 ...

  2. 信息学奥赛一本通C++语言-----2048:【例5.18】串排序

    [题目描述] 对给定的n(1≤n≤20)n(1≤n≤20)个国家名(国家名字长度不超过2020),按其字母的顺序输出. [输入] 第一行为国家的个数nn: 以下nn行为国家的名字. [输出] nn行, ...

  3. 信息学奥赛一本通 1032:大象喝水 | OpenJudge NOI 1.3 14

    [题目链接] ybt 1032:大象喝水 OpenJudge NOI 1.3 14:大象喝水 [题目考点] 1. 数学知识 柱体体积 = 底面积*高 圆面积 = π∗r2\pi *r^2π∗r2 长度 ...

  4. 如何在Java中转义HTML

    在Java中,我们可以使用Apache commons-text , StringEscapeUtils.escapeHtml4(str)来转义HTML字符. pom.xml <dependen ...

  5. Linux 用户磁盘空间配额管理

    Linux 用户磁盘空间配额管理 2011-12-21 17:16 文件系统配额示例:检查quota功能包是否已经安装:rpm –q quota 1. 先要启动文件系统的限额功能.这一步主要是要编辑/ ...

  6. 基于python将grd文件转成tif,并进行裁剪

    '''本程序用于将grd文件转换成tif文件并进行裁剪.校准''' import pandas as pd import numpy as np from osgeo import gdal, gda ...

  7. 信息学奥赛一本通 2048:【例5.18】串排序

    [题目链接] ybt 2048:[例5.18]串排序 [题目考点] 1. 多字符串处理 方法1:string类对象数组 设string类对象数组s,s[i]保存第i个字符串.s[i]是string类对 ...

  8. 信息学奥赛一本通 2032:【例4.18】分解质因数

    [题目链接] ybt 2032:[例4.18]分解质因数 [题目考点] 1. 质数 [解题思路] 解法1:使用循环 每次循环中,遍历2到n,找到一个n的质因数,输出,而后n除以该因数,继续循环. 解法 ...

  9. 信息学奥赛一本通(2048:【例5.18】串排序)

    2048:[例5.18]串排序 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 515     通过数: 239 [题目描述] 对给定的n(1≤n≤20)n(1≤n ...

最新文章

  1. 命令查看java的class字节码文件、verbose、synchronize、javac、javap
  2. Android Screen Monitor抓取模拟器与真机界面
  3. 列表元素循环移位中Python切片的妙用
  4. 《坦克世界》1.0+:使用 CPU 优化的图形和物理丰富用户体验
  5. Ztree 仿淘宝树结构完美实现 移动 右键增删改
  6. Android IntentService的使用和源代码分析
  7. 阿里矢量图标库的使用
  8. MySQL中使用update更新替换某个字符串
  9. 计算机三级数据库考试题型,计算机三级数据库技术考试习题及答案
  10. Hibernate拦截器字段加密解密
  11. 网络流——基础,Dinic和Sap(Gap优化)算法
  12. 古琴怎么学——【唐畅古琴】
  13. laravel发送邮件
  14. armbian 斐讯n1_树莓派/斐讯N1/ARMBIAN/安装HOME ASSISTANT
  15. SDLC 软件开发生命周期及模型
  16. 使用h5的方式来实现钟表
  17. 结对项目——可循环的最大子数组
  18. 前端--鼠标跟随特效
  19. 微信小程序更新数组数据,页面不刷新问题
  20. 毕业设计 单片机智能录音器设计与实现 - 物联网 嵌入式

热门文章

  1. 信息学奥赛一本通1184 明明的随机数
  2. matlab使用深度学习进行时间序列预测
  3. C++基础知识(黑马程序员视频个人总结)
  4. (九)完美主义者的自我调适
  5. 企业物联卡如何充值,几百张卡能同时充值吗?【物联卡中心】
  6. c语言中fbfd函数,FBFD
  7. 已有一个Excel表格,用VBA批量新建文件夹
  8. 正则表达式如何匹配空格
  9. ArcGIS批量修改CASS标注 | 小技巧,高效率
  10. Linux下PostSQL编译安装