当前位置: 首页 > news >正文

肖恩的n次根

1.肖恩的n次根 - 蓝桥云课

问题描述

喜欢研究数学问题的肖恩注意到,在编程语言中通常内置函数只有开平方根和开立方根,但是肖思想知道开高次方根(大于3次方称为高次方),应该怎么做。请你设计一个程序来帮帮肖恩。

输入描述

输入两个数字 a 和 b,输出 a 的 b 次方根的值。
数据保证:0 < a ≤ 1000, 1 < b ≤ 5

输出描述

输出 a 的 b 次方根的值乘1000后保留整数的结果。

样例输入

5 3

样例输出

1769

说明

5 开 3 次方根的结果保留五位小数是 1.70998,乘 1000 得到 1709.98,保留整数以后得到 1709。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M
PyPy33s256M
Go3s256M
JavaScript3s256M

总通过次数: 261 | 总提交次数: 282 | 通过率: 92.6%

难度: 中等 标签: 思维, 二分

版权声明

思路:

代码:

#include <iostream>
#include<iostream>
#include <cmath>
using namespace std;
int main()
{

  int a,b;
  cin>>a>>b;
 int result = pow(a,1.0/b)*1000;
 cout<<result;
  return 0;
}

思路:
二分

代码如下:

#include <iostream>
#include <cstring>
#include <queue>
using namespace std;
bool check(double a,double b,double k)
{
	double res = 1;
	for(int i = 1 ; i <= b ; i++)
	{
		res *= k;
	}
	if(res < a)
	return true;
	else
	return false;
}
int main() 
{
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int a,b;
    cin >> a >> b;
	double l = 0 , r = 1001;
	while(r - l > 1e-9)
	{
		double mid = (l + r) / 2;
		if(check(a,b,mid))
		{
			l = mid;	
		}	
		else
		{
			r = mid;
		}
	} 
	int ans = r * 1000;
	cout << ans;
    return 0;
}

相关文章:

  • 探秘 Threejs GUI:开启丝滑调试之旅
  • 探索DeepSeek:牛仔技术的未来在哪里?
  • android 支持自定义布局、线程安全、避免内存泄漏的 Toast 工具类
  • 用分页干掉显存浪费!聊聊VLLM的PagedAttention
  • Django系列教程(4)——实例项目任务管理小应用
  • MySQL复习笔记
  • 力扣 : 45. 跳跃游戏 II
  • BM25原理概述
  • redis数据类型以及底层数据结构
  • 机器视觉选型中,不同焦距的镜头成像视野有什么不同?
  • 【空地协同技术教程:概念与技术手段解析】
  • 构建功能齐全的JavaScript计算器:从基础到高级功能的全面实现
  • 头歌作业-mysql数据库系统(全部)
  • linyu-im
  • 基于粒子群算法的配电网重构
  • B站高清视频爬取:Python爬虫技术详解
  • 问题解决:Kali Linux 中配置启用 Vim 复制粘贴功能
  • 扫雷雷雷雷雷雷雷
  • 蓝桥试题:蓝桥勇士(LIS)
  • AI大模型学习(五): LangChain(四)
  • 长沙模板建站哪家好/淮北seo排名
  • node 做的大型网站/最近的新闻大事
  • 怎么做弹幕网站/营销网站建设选择原则
  • 做网站多少钱一个/网站搜索优化价格
  • 新手 网站建设 书籍/最新提升关键词排名软件
  • 那个网站卖做防水的烤枪/顺德搜索seo网络推广