已知x=10*log10(S/N)-10*log10(S/(N+k*N)),输入任意x输出10*log10(k)的值并打印出来

简介: 已知x=10*log10(S/N)-10*log10(S/(N+k*N)),输入任意x输出10*log10(k)的值并打印出来

背景

翎野君前段时间碰到了这样的一道题,觉得很有意思,特此记录下来。平常我们做题都是这个算法那个算法,乍一看这个题好像跟算法没什么关系。对,没错这就是一个数学题,我们来求解一下。

必备知识

直接从百度百科截取

推导过程

x=10*log10(S/N)-10*log10(S/(N+k*N))
x=10*log10(S/N)-10*log10(S/N(1+k))
x=10*log10(S/N)-10*log10(S/N * 1/(1+k))
x=10*log10(S/N)-(10*log10(S/N) + 10*log10(1/(1+k)))
x=-10*log10(1/(1+k)))
x=-(10*log10(1) - 10*log10(1+k))
x=10*log10(1+k)
k = 10^(x/10) - 1
10log10(k) = 10log10(10^(x/10) - 1)

代码实现

package com.lingyejun.dating.chap11.test;
import java.util.Scanner;
public class Examination {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double n = sc.nextDouble();
        // 输出 10*log10(k)并打印出来
        System.out.println(calc(n));
    }
    public static int calc(double x){
        // 10*log10(k) = 10*log10(10(x/10)-1)
        return (int) (10 * Math.log10(Math.pow(10,(x/10)) -1));
    }
}

 

本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。

原文链接:https://www.cnblogs.com/lingyejun/p/15605513.html


目录
相关文章
|
8月前
|
移动开发
5分钟教你使用 console.log 管理你的输出日志
5分钟教你使用 console.log 管理你的输出日志
71 0
|
10月前
控制台输出信息console.log()的用法总结
控制台输出信息console.log()的用法总结
147 0
|
10月前
输出7和带7的值(1——100)
输出7和带7的值(1——100)
47 0
C中无警告输出size_t的值
C中无警告输出size_t的值
69 0
|
前端开发 API 对象存储
5分钟教你使用 console.log 输出五彩斑斓的黑
5分钟教你使用 console.log 输出五彩斑斓的黑
3266 0
5分钟教你使用 console.log 输出五彩斑斓的黑
|
JavaScript C语言
console.log(a + a++ * ++ a)到底输出什么?
前言 有些小伙伴可能看到这道题目就已经蒙圈了!甚至可能看不懂这道题目在干什么。其实这是一道比较考察基础的面试题,当你明白原理之后,你可能会感觉这道题也就那么回事,但是如果你没有思绪,那你可能觉得这道题很难。 今天我们就来彻底看看这到底在做什么妖!
460 0
console.log(a + a++ * ++ a)到底输出什么?