std::floor和std:ceil简述

C++取整函数详解
本文介绍了C++中std::floor和std::ceil两个数学函数的功能及使用方法。std::floor用于将浮点数向下取整到最接近的整数,而std::ceil则将浮点数向上取整。举例说明了当输入为5.88时,std::floor(5.88)的结果为5,std::ceil(5.88)的结果为6。

std::floor 和 std::ceil都是对变量进行四舍五入,只不过四舍五入的方向不同。 

1: std::floor -->向下取整数

2: std::ceil   -->向上取整数:

例如: 5.88   std::floor(5.88) = 5;

     std::ceil(5.88)   = 6;

  


P3067 [USACO12OPEN] Balanced Cow Subsets G 提交答案加入题单复制题目 提交 22.24k 通过 5.69k 时间限制 1.00s 内存限制 125.00MB 复制 Markdown 中文 折叠 进入 IDE 模式 题目描述 我们定义一个奶牛集合 S 是平衡的,当且仅当满足以下两个条件: S 非空。 S 可以被划分成两个集合 A,B,满足 A 里的奶牛产奶量之等于 B 里的奶牛产奶量之。划分的含义是,A∪B=S 且 A∩B=∅。 现在给定大小为 n 的奶牛集合 S,询问它有多少个子集是平衡的。请注意,奶牛之间是互不相同的,但是它们的产奶量可能出现相同。 输入格式 第一行一个整数 n,表示奶牛的数目。 第 2 至 n+1 行,每行一个数 a i ​ ,表示每头奶牛的产奶量。 输出格式 输出一个数表示方案总数。 样例解释 共存在三种方案。集合 {1,2,3} 可以划分为 {1,2} 与 {3};集合 {1,3,4} 可以划分为 {1,3} 与 {4};集合 {1,2,3,4} 可以划分为 {1,4} 与 {2,3},共 3 种子集。 显示翻译 题意翻译 输入输出样例 输入 #1复制 4 1 2 3 4 输出 #1复制 3 说明/提示 对于全部数据,保证 1≤n≤20,1≤a i ​ ≤10 8 。 我的代码如下,请检查 #include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 25; ll n; ll a[N], sum, ans; void dfs (ll k, ll tot) { if (k == n + 1) { if (tot == sum - tot) ans ++; return; } dfs (k + 1, tot + a[k]); dfs (k + 1, tot); } int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i = 1; i <= n; i ++) cin >> a[i], sum += a[i]; dfs(1, 0); cout << ans << '\n'; return 0; }
最新发布
07-31
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值