2017-08-24 15:42:30

writer: pprp

感觉自己好菜啊,这个题都没有做的很好

题意很简单,用a * a 的地砖,将 n * m 的地板铺满,问最少需要多少个地砖?

一开始打算分情况讨论,恰好铺满某一行,某一列,分了很多种情况,(贪心的去选择)

但是其实根本没有必要那么做,用向上取整函数就可以搞定了,也很容易理解

但是这个题其实在数据比较大的时候会溢出,所以用long long

在数据比较长的时候用cout可能会出现1e n的形式不满足要求

所以还是要补充一下

1、floor & ceil的知识点

2、cout 的精度设置


1、floor & ceil

  都是在math.h的头文件下的函数

  函数形式: double floor( double x )向下取整

        double ceil ( double x ) 向上取整

  注意返回类型是double

2、cout的其他函数及用法

  在iomanip头文件下的函数

  setprecition(n)对浮点数类型设置精度

  std :: fixed 将整数类型的以整数的形式输出

  std :: scientific 将整数以科学计数法形式输出(与fixed相对性)

代码如下:

/*
theme:铺地砖
writer:pprp
declare:虽然很简单,但是依然没有做的很好,
里面cout的有些知识点没有把握清楚,
还有ceil的用法也不是很清楚
date:2017/8/23
*/
#include <bits/stdc++.h>
#include <iomanip> using namespace std; typedef long long ll; int main()
{
ll width, height;
double a; // scanf("%lld%lld%lld",&width,&height,&a); srand((int)time(NULL));
for(int i = ; i < ; i++)
{
srand((int)time(NULL)+i); width = rand() % ;
height = rand() % ;
a = rand() % ; cout << width <<" " << height << " " << a << endl; //如果将width和height设为ll就用这种方法
// printf("%lf\n",(width/a + (width%a == 0 ? 0 : 1)) * (height/a + (height%a == 0 ? 0:1))); //或者采用向上取整的方法,涉及到cout用法
printf("%lf\n",ceil(width/a) * ceil(height/a)); cout<<fixed<<setprecision()<<ceil(width/a)*ceil(height/a)<<endl;
} return ;
}

codeforces 1A - math - ceil的更多相关文章

  1. Math.ceil(a/b)结果出错--原因是a和b不是double

    脑袋短路.连续测试几次发现Math.ceil(188/20)==9; 忍无可忍,突然发现是int问题,顺着表达式走一遍,188/20==9,然后再向上取整.脑袋僵化了.看来一直做简单的不动脑筋的工作, ...

  2. Javascript Math.ceil()与Math.round()与Math.floor()区别

    Math.ceil()向上舍入 1 2 3 alert(Math.ceil(20.1)) //输出 21 alert(Math.ceil(20.5)) //输出 21 alert(Math.ceil( ...

  3. js中Math.round、parseInt、Math.floor和Math.ceil小数取整总结

    Math.round.parseInt.Math.floor和Math.ceil 都可以返回一个整数,具体的区别请看下面的总结. 一.Math.round 作用:四舍五入,返回参数+0.5后,向下取整 ...

  4. Javascript Math ceil()、floor()、round()三个函数的区别

    Round是四舍五入的...Ceiling是向上取整..float是向下取整. ceil():将小数部分一律向整数部分进位. 如: Math.ceil(12.2)//返回13 Math.ceil(12 ...

  5. 数学对象Math ceil()、floor()、round()方法

      Math.ceil()   功能:对一个数进行上取整. 语法:Math.ceil(x) 参数: x:一个数值. 返回值:返回大于或等于x,并且与之最接近的整数. 注:如果x是正数,则把小数“入”: ...

  6. javascript中Math ceil(),floor(),round()三个函数的对比

    Math.ceil()执行的是向上舍入 Math.floor()执行向下舍入 Math.round()执行标准舍入 一下是一些补充: ceil():将小数部分一律向整数部分进位. 如: Math.ce ...

  7. Javascript -- Math.round()、Math.ceil()、Math.floor()、parseInt去小数取整总结

    一.Math.round() 作用:四舍五入返回整数.(返回参数+0.5后,向下取整) Math.round(5.57) //返回6 Math.round(2.4) //返回2 Math.round( ...

  8. Math.round()、Math.ceil()、Math.floor()与Math.random()的区别?

    Math.round(x) 四舍五入 加上0.5向下取整 Math.round(1.5) 2 Math.round(-11.5) -11 Math.round(-11.2) -10 Math.ceil ...

  9. JS中的Math.ceil和Math.floor函数的用法

    Math.ceil(x) -- 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入 Math.floor(x)--返回小于等于数字参数的最大整数,对数字进行下舍入 例如: document. ...

随机推荐

  1. Storm-源码分析-Stats (backtype.storm.stats)

    会发现, 现在storm里面有两套metrics系统, metrics framework和stats framework 并且在所有地方都是同时注册两套, 貌似准备用metrics来替代stats, ...

  2. CentOS6.5之Zabbix3.2.2 Server安装、汉化及Agent安装

    1.安装MySQL 1.1.安装MySQL rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum ...

  3. java-mybaits-00502-案例-映射分析-一对一、一对多、多对多

    1.一对一查询[类属性即可,association ] 案例:查询所有订单信息,关联查询下单用户信息.   注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查 ...

  4. linux中执行定时任务对oracle备份(crontab命令)

    执行定时任务对oracle表数据备份: 1.创建sh脚本 [oracle@localhost ~]$ vi bak.sh 2.添加脚本内容 #!/bin/bash #:本脚本自动备份7天的数据库,每次 ...

  5. 简明python教程十一----更多Python的内容

    特殊的方法 __init__(self,...):这个方法在新建对象恰好要被返回使用之前被调用 __del__(self):恰好在对象要被删除之前调用 __str__(self):我们对对象使用pri ...

  6. Struts2 iterator标签实现嵌套循环

    问题:有一个List<List<Object>>  list用struts2在页面显示使用<s:iterator value=”list” var=”list1″> ...

  7. Mybatis 一对一、一对多、多对多

    一对一返回resultType <!-- 查询订单关联查询用户信息 resultType --> <select id="findOrderCustom" res ...

  8. Codeforces Round #425 (Div. 2) B - Petya and Exam

    地址:http://codeforces.com/contest/832/problem/B 题目: B. Petya and Exam time limit per test 2 seconds m ...

  9. 如何做好Web接口测试

    说说我在测试接口时遇到的一些需要注意的点: 1.接口返回:数据格式是否与预期一致.例如:要求返回json格式的数据,json数据的key命名是否正确,对应的value是否与数据库一致.需要转换的数据是 ...

  10. Could not connect to '192.168.89.144' (port 22)

    xshell连接linux主机时,会出现错误:Could not connect to '192.168.89.144' (port 22): Connection failed. 但是这时能ping ...