C语言备忘录——向上取整
众所周知,C语言的取整方式是向下取整,昨天老师留了一道思考题,问我们C语言怎么向上取整,当时我第一反应就是ceil(),老师说不能用if……else之类的,函数也不行。当时想了想没事不用就不用,去math头文件里看看函数原型就行了,但是现实就是如此残酷math头文件里没有实现的原型。好吧开始了一个小时丧心病狂的瞎推。最后推出了个公式!
划重点了:((m -1)/n)+1 (嗯,把重点划掉)
下面来说说我当时无厘头的思路:
当时比较懵,拿着四舍五入的方法一顿乱 整,发现什么玩意,不对。然后想了想 m/n 这个式子的意义,没错就是m里有几个n,如果能整除m = kn,那有小数就是不够还差n-m%n个到kn,所以差多少就加多少 (m + n-(m%n) ) / n 这是最开始的雏形,然后我发现整除的时候会大1,凉凉,不能用 if …… else …… 又想了想加不行那试试减 (10-1) / 3+1 = 4;!!!刚好,又试试了试(10-2)/ 4 +1 = 3, 巧了还是一样的问题,我又想了想会不会减的不是质数就是合数,我减去一个不是质数也不是合数的值,嗯, 除了0 ,就是 1。看起来好像只能减1了,一减减出❀来了,刚好全中,虽然不知道为什么……反正出结果了开心
C语言备忘录——向上取整的更多相关文章
- C语言正整数除法向上取整
在网上发现一个简单的向上取整方法: 这里我们用<>表示向上取整,[]表示向下取整,那么怎么来表示这个值呢? 我们可以证明: <N/M>=[(N-1)/M]+1 (0< ...
- NowCoderWannafly挑战赛5-可编程拖拉机比赛-向上取整和向下取整函数
可编程拖拉机比赛 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld 题目描述 "这个比赛,归根结底 ...
- Sql 获取向上取整、向下取整、四舍五入取整的实例
[四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT FLOOR(54.56) [向上取整截取] SELECT CEILING(13.15) --MS ...
- js只保留整数,向上取整,四舍五入,向下取整等函数
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3.四舍五入. Math.round(5/2) 4.向下取整 Math.f ...
- SQLSERVER 数值 四舍五入取整 向上取整 向下取整
[四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT floor(54.56) [向上取整截取] SELECT ceiling(13.15)
- SQL 向上取整、向下取整、四舍五入取整的实例!round、rounddown、roundup
sql server ==================================================== [四舍五入取整截取] select round(54.56,0) === ...
- python 向上取整ceil 向下取整floor 四舍五入round
#encoding:utf-8 import math #向上取整 http://www.manongjc.com/article/1335.html print "math.ceil--- ...
- Sql Server 里的向上取整、向下取整、四舍五入取整
==================================================== [四舍五入取整截取] select round(54.56,0) ============== ...
- Python 向上取整的算法
一.初衷: 有时候我们分页展示数据的时候,需要计算页数.一般都是向上取整,例如counts=205 pageCouts=20 ,pages= 11 页. 一般的除法只是取整数部分,达不到要求. 二.方 ...
随机推荐
- vs2010编译C++ 友元函数
// CTest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include &l ...
- 你必须知道的.Net 8.2.2 本质分析
1 .Equals 静态方法 Equals 静态方法实现了对两个对象的相等性判别,其在 System.Object 类型中实现过程可以表 示为: public static bool Equals ...
- hadoop-mapreduce的官方示例的测试执行方法
1.根据给出的精度参数计算 pi : hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-m ...
- 【微信小程序】数组操作
Page({ data: { list:[{ id:1, name:'应季鲜果', count:1 },{ id:2, name:'精致糕点', count:6 },{ id:3, name:'全球美 ...
- 使用Spring Data JPA的Spring Boot
本文教你开始使用Spring Data JPA.来自优锐课JAVA架构专业讲师精心整理. 欢迎使用带有Spring Data JPA的Spring Boot教程!在本教程中,我们将看到Spring D ...
- https://blog.csdn.net/yyoinge/article/details/81557604
https://blog.csdn.net/yyoinge/article/details/81557604 http://www.mamicode.com/info-detail-2346464.h ...
- 盘姬工具箱WV1.10
========================================================================== {盘姬工具箱CruiserEXPforWin版是一 ...
- IDEA启动Tomcat报错Address localhost:1099 is already in use解决办法
问题:Error running 'lugia-web': Address loaclhost:1099 is already in use如下图 解决方法:cmd输入下面命令: netstat -a ...
- UVA - 1626 Brackets sequence (区间dp)
题意:给定一个串,可能空串,或由'[',']','(',')'组成.问使其平衡所需添加最少的字符数,并打印平衡后的串. 分析:dp[i][j]表示区间(i,j)最少需添加的字符数. 1.递推. #in ...
- GNS3 ip route 命令解析
ip route 120.94.0.0 255.254.0.0 172.16.252.1ip route 192.168.0.0 255.255.0.0 10.10.10.119ip route 21 ...