预测帕鲁

预测帕鲁

https://ac.nowcoder.com/acm/contest/80917/E

预测帕鲁

标签: 数学

难度: 2颗星

思路:

先计算出子代帕鲁的繁育值,将上去整转换为下去整,也可以用ceil()函数上去整。然后从左到右遍历找到繁育值 和子代差值最小的帕鲁即可,需要注意差值相同的情况应该取下标校的帕鲁。

示例:

#include <bits/stdc++.h>
using namespace std;
const int N=510;
vector<int>p(N+1);

int n,x,y;


int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>p[i];
	
	cin>>x>>y;
	int c=(p[x]+p[y]+1)/2;
	int diff=1e9,son=0;
	
	for(int i=1;i<=n;i++)
	{
		if(abs(p[i]-c)<diff)
		{
			
		
			diff=abs(p[i]-c);
			son=i;
	    }
	}
	cout<<son<<endl;
	
	return 0;
}

补充:

在C++中,ceil() 函数是数学库 <cmath>math.h 中的一个函数,它用于计算一个数的上限(即不小于给定数的最小整数值)。ceil() 函数常用于需要将浮点数向上取整到最接近的整数时。

函数的原型如下:

double ceil(double x);
float ceil(float x);   // C++ 中的重载版本
long double ceil(long double x); // C++ 中的重载版本

参数 x 是一个浮点数,可以是 doublefloatlong double 类型。

函数的返回值:

  • 返回参数 x 的上限整数。对于正数,它向上取整到最接近的整数;对于负数,它向下取整到最接近的整数。

这里有一个简单的示例,展示了如何使用 ceil() 函数:

#include <iostream>
#include <cmath>  // 包含ceil()函数的头文件

int main() {
    double num = 3.14;
    std::cout << "原始数值: " << num << std::endl;
    std::cout << "向上取整后的数值: " << ceil(num) << std::endl;
    return 0;
}

在这个示例中,我们计算了数值 3.14 的上限整数,程序将输出 原始数值: 3.14向上取整后的数值: 4

ceil() 函数在处理金钱或需要向上取整的场合非常有用,比如,如果你需要计算出至少需要多少个盒子来装下一定数量的物品,即使最后一个盒子没有完全装满。

全部评论

相关推荐

大叔叔1:你把自己说的话打码,所以你想表达什么
点赞 评论 收藏
分享
fanyc07:现在还实习嘛 不应该春招了嘛
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务