比较奇怪的数学问题 (很好理解)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较奇怪的数学问题 (很好理解)相关的知识,希望对你有一定的参考价值。

0.999999999(9无限循环)=0.333333333(3无限循环)+0.333333333(3无限循环)+0.333333333(3无限循环)=1/3+1/3+1/3=1
但0.999999999(9无限循环)不等于1啊
高手来解释一下 谢谢

键的一个问题是 1/3 不= 0.3333333…… 只是0.3333333……无限趋近于1/3 不会等于 最后的问题也一样 0.9999………… 无限趋近于1 不会等于一 参考技术A 1/9*9=1
而1/9=0.1111111111(1无限循环)
0.1111111111(1无限循环)*9=0.999999999(9无限循环)
所以0.999999999(9无限循环)=1
参考技术B 0.333333333(3无限循环)=1/3也只是近似的呀

好题收集 奇怪的函数(数学)

奇怪的函数

Description
洛谷P2759
使得$x^x$达到或超过 $n$ 位数字的最小正整数 $x$ 是多少?

Hint
乍一看是一道数学题
其实就是一道数学题
$a$ 在 $b$ 进制下的位数 $p$ 的计算公式为 $p=\\lfloor log_b a \\rfloor+1$
其实很好理解:
设$\\lfloor x \\rfloor$表示不超过 $x$ 的最大整数,若 $n=(a_k,a_k-1,…a_1,a_0)_b,a_k≠0$,
则$$b^k≤n<b^{k+1} ⇒k≤log_bn<k+1$$
即$k=\\lfloor log_bn \\rfloor$,总位数 $p=k+1$
所以$x^x$的位数就是$\\lfloor lg{x^x} \\rfloor+1$,运用对数知识就是$\\lfloor xlgx \\rfloor+1$
然后考虑到对数函数是单调的,所以可以用二分答案

Code

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define LL long long
using namespace std;
LL n,l=1,r=2e9;
int main(){

    scanf("%lld",&n);
    while(l<r){
        LL mid=(l+r)>>1,len=(LL)(mid*log10(1.0*mid))+1;
        if(len<n) l=mid+1;
        else r=mid;
    }
    cout<<l<<endl;
    return 0;
}

以上是关于比较奇怪的数学问题 (很好理解)的主要内容,如果未能解决你的问题,请参考以下文章

有一个很奇怪的数学问题

给我说一些奇怪的数学题容易把人绕进去的那种

深入理解数学计算问题:从Leetcode实践出发(题号166279)

一道奇怪的数学题

无法理解高等数学怎么办?

有一道奇怪的数学题。(下边是详细内容)