ios的向上,向下以及四舍五入的取整方式

本文详细介绍了几种常见的数学取整方法,包括Math.floor向下取整、Math.ceil向上取整、Math.round和Math.rint四舍五入等。通过具体实例展示了不同数值下各方法的应用效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

舍掉小数取整:Math.floor(2)=2
舍掉小数取整:Math.floor(2.1)=2
舍掉小数取整:Math.floor(-2.1)=-3
舍掉小数取整:Math.floor(-2.5)=-3
舍掉小数取整:Math.floor(-2.9)=-3
四舍五入取整:Math.rint(2)=2
四舍五入取整:Math.rint(2.1)=2
四舍五入取整:Math.rint(-2.5)=-2
四舍五入取整:Math.rint(2.5)=2
四舍五入取整:Math.rint(2.9)=3
四舍五入取整:Math.rint(-2.9)=-3
四舍五入取整:Math.rint(-2.49)=-2
四舍五入取整:Math.rint(-2.51)=-3
凑整:Math.ceil(2)=2
凑整:Math.ceil(2.1)=3
凑整:Math.ceil(2.5)=3
凑整:Math.ceil(2.9)=3
舍掉小数取整:Math.floor(-2)=-2
舍掉小数取整:Math.floor(-2.1)=-3
舍掉小数取整:Math.floor(-2.5)=-3
舍掉小数取整:Math.floor(-2.9)=-3
凑整:Math.ceil(-2)=-2
凑整:Math.ceil(-2.1)=-2
凑整:Math.ceil(-2.5)=-2
凑整:Math.ceil(-2.9)=-2
Math.round(3.14)3
Math.round(3.5)4
Math.round(-3.14)-3
Math.round(-3.5)-3

调用的时候直接用ceil(值),floor(值)这样就能调用
总结:floor向下取整,ceil向上取整;round和rint四舍五入,取绝对值后舍入,然后加上符号,遇到.5的时候向绝对值小的方向舍之。

#include<bits/stdc++.h> #define ll long long using namespace std; ll n, a; string t, s; int main() { ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); cin >> n >> a >> t; for (char &c : t) { if (c == 'U' && !s.empty())s.pop_back(); else s.push_back(c); } for (char &c : s) { if (c == 'U')a = a >> (a >> 1); else if (c == 'L')a <<= 1; else a = (a << 1) +1; } cout << a; return 0; }为什么这个代码只有40分 # P11375 [GESP202412 六级] 树上游走 ## 题目描述 小杨有一棵包含无穷节点的二叉树(即每个节点都有左儿子节点和右儿子节点;除根节点外,每个节点都有父节点),其中根节点的编号为 $1$,对于节点 $i$,其左儿子的编号为 $2\times i$,右儿子的编号为 $2\times i + 1$。 小杨会从节点 $s$ 开始在二叉树上移动,每次移动为以下三种移动方式的任意一种: - **第 1 种移动方式**:如果当前节点存在父亲节点,向上移动到当前节点的父节点,否则不移动; - **第 2 种移动方式**:移动到当前节点的左儿子; - **第 3 种移动方式**:移动到当前节点的右儿子。 小杨想知道移动 $n$ 次后自己所处的节点编号。**数据保证最后所处的节点编号不超过 $10^{12}$**。 ## 输格式 第一行包含两个正整数 $n$ 和 $s$,代表移动次数和初始节点编号。 第二行包含一个长度为 $n$ 且仅包含大写字母 $\tt{U}$、$\tt{L}$ 和 $\tt{R}$ 的字符串,代表每次移动的方式,其中 $\tt{U}$ 代表第 1 种移动方式,$\tt{L}$ 代表第 2 种移动方式,$\tt{R}$ 代表第 3 种移动方式。 ## 输出格式 输出一个正整数,代表最后所处的节点编号。 ## 输输出样例 #1 ### 输 #1 ``` 3 2 URR ``` ### 输出 #1 ``` 7 ``` ## 说明/提示 小杨的移动路线为 $2 \to 1 \to 3 \to 7$。 | 子任务编号 | 数据点占比 | $n$ | $s$ | | :--------: | :--------: | :---------: | :------------: | | $1$ | $20\%$ | $\leq 10$ | $\leq 2$ | | $2$ | $20\%$ | $\leq 50$ | $\leq 10$ | | $3$ | $60\%$ | $\leq 10^6$ | $\leq 10^{12}$ | 对于全部数据,保证有 $1\leq n\leq 10^6$,$1\leq s\leq 10^{12}$。
最新发布
08-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值