码迷,mamicode.com
首页 > 其他好文 > 详细

HDU ACM 2740 Root of the Problem 简单数学题

时间:2015-05-31 15:23:54      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:c   acm   c++   算法   编程   

题意:求A,使得A^N最接近B。
分析:A=B^(1/n),对其上下取整,在各取N次幂,取最接近B的。

#include<iostream>
#include<cmath>
using namespace std;  

int main()      
{
	int B,N,p,q;
	double tmp;

	while(cin>>B>>N && (B||N))
	{
		tmp=pow(1.0*B,1.0/N);	
		p=floor(tmp);           //向下取整
		q=ceil(tmp);            //向上取整
		if(B-pow(p,N)>pow(q,N)-B)
			cout<<q<<endl;
		else
			cout<<p<<endl;
	}
    return 0;      
}


HDU ACM 2740 Root of the Problem 简单数学题

标签:c   acm   c++   算法   编程   

原文地址:http://blog.csdn.net/a809146548/article/details/46288763

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!