zoukankan      html  css  js  c++  java
  • 一个小证明

    函数 $f colon mathbb{Z_{>0}} o mathbb{R}$ 满足
    $f(1) = 0$,
    $f(n) = f(n/2) + 1$,$n$ 是偶数;
    $f(n) = f((n + 1) / 2) + 1$,$n$ 是奇数。

    试证明 $f(n) = lceil log_2 n ceil$。

    证明:对 $n$ 用归纳法。以下 $n > 1$。
    若 $n$ 是偶数,则 $f(n) = f(n /2) + 1 = lceil log_2 n / 2 ceil + 1 = lceil (log_2 n / 2) + 1 ceil = lceil log_2 n ceil$。 若 $n$ 是奇数,则 $f(n) = f((n + 1) / 2) + 1 = lceil log_2 (n + 1) / 2 ceil + 1 = lceil (log_2 (n + 1) / 2) + 1 ceil = lceil log_2 (n + 1) ceil$ 。我们要证明 $lceil log_2 (n + 1) ceil = lceil log_2 n ceil$。由 $n$ 是奇数且 $n > 1$ 知 $log_2 n$ 不是整数,故有 $ log_2 n < lceil log_2 n ceil$。若 $lceil log_2 n ceil < log_2 (n + 1)$,则有 $ n < 2^{ lceil log_2 n ceil} < n + 1 $。这与 $ 2^{ lceil log_2 n ceil}$ 是整数相矛盾,所以必有 $log_2 (n + 1) le lceil log_2 n ceil$,从而有 $lceillog_2 (n + 1) ceil le lceil log_2 n ceil$,也就是 $lceillog_2 (n + 1) ceil = lceil log_2 n ceil$。

    也可以从 $n$ 的二进制表示入手证明,不过不容易说清楚。

  • 相关阅读:
    年报统计系统—基本信息模块的目标文档
    用户分析
    第一周第三天
    第一周第二天
    第一周第一天
    学习进度条第三周
    学习进度表第二周
    四则运算2
    构建之法阅读笔记 01
    软件工程概论学习进度表第一周
  • 原文地址:https://www.cnblogs.com/Patt/p/14577227.html
Copyright © 2011-2022 走看看