zoukankan      html  css  js  c++  java
  • ZOJ 3793 First Digit (逗比题)

    Benford's Law, also called the First-Digit Law, refers to the frequency distribution of digits in many (but not all) real-life sources of data. In this distribution, the number 1 occurs as the leading digit about 30% of the time, while larger numbers occur in that position less frequently: 9 as the first digit less than 5% of the time. Benford's Law also concerns the expected distribution for digits beyond the first, which approach a uniform distribution.

    This result has been found to apply to a wide variety of data sets, including electricity bills, street addresses, stock prices, population numbers, death rates, lengths of rivers, physical and mathematical constants, and processes described by power laws (which are very common in nature). It tends to be most accurate when values are distributed across multiple orders of magnitude.

    A set of numbers is said to satisfy Benford's Law if the leading digit d ∈ {1, ..., 9} occurs with probability P(d) = log10(d + 1) - log10(d). Numerically, the leading digits have the following distribution in Benford's Law:

    d 1 2 3 4 5 6 7 8 9
    P(d) 30.1% 17.6% 12.5% 9.7% 7.9% 6.7% 5.8% 5.1% 4.6%

    Now your task is to predict the first digit of be, while b and e are two random integer generated by discrete uniform distribution in [1, 1000]. Your accuracy rate should be greater than or equal to 25% but less than 60%.This is not a school exam, and high accuracy rate makes you fail in this task. Good luck!

    Input

    There are multiple test cases. The first line of input contains an integer T (about 10000) indicating the number of test cases. For each test case:

    There are two integers b and e (1 <= b, e <= 1000).

    Output

    For each test case, output the predicted first digit. Your accuracy rate should be greater than or equal to 25% but less than 60%.

    Sample Input

    20
    206 774
    133 931
    420 238
    398 872
    277 137
    717 399
    820 754
    997 463
    77 791
    295 345
    375 501
    102 666
    95 172
    462 893
    509 839
    20 315
    418 71
    644 498
    508 459
    358 767
    

    Sample Output

    8
    2
    2
    1
    4
    2
    1
    2
    1
    1
    4
    6
    2
    4
    9
    7
    2
    7
    1
    7
    

    Hint

    The actual first digits of the sample are 8, 2, 2, 1, 4, 2, 1, 2, 1, 1, 3, 5, 1, 3, 8, 6, 1, 6, 9 and 6 respectively. The sample output gets the first 10 cases right, so it has an accuracy rate of 50%.


    本福特定律,也称为本福德法则,说明一堆从实际生活得出的数据中,以1为首位数字的数的出现机率约为总数的三成,接近期望值1/9的3倍。推广来说,越大的数,以它为首几位的数出现的机率就越低。——维基百科

    好神奇的东西,我又孤陋寡闻了。

    根据输入信息输出得到的数的首位数字,要求准确率在25%到60%间。。

    由于是随机的数据,首位是1的概率是30.1%,全部输出1就行了 >_<


    #include<iostream>
    using namespace std;
    int main()
    {
    int n;
    cin>>n;
    while(n--)cout<<1<<endl;
    return 0;
    }



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    一个自动打补丁的脱机程序
    OPC 学习交流感想
    串口标准,说说流控制(RTS/CTS/DTR/DSR 你都明白了吗?)
    asp.net中调用COM组件发布IIS时常见错误 80070005解决方案
    可运行XP的最少后台服务配置
    MapGIS 7.0 SP2 企业版 & MapGIS 7.1IMS
    简单认识一下S60系统
    常用正则表达式
    图像处理:遮罩
    office2003中WORD中visio图无法打印中文问题解决方法
  • 原文地址:https://www.cnblogs.com/DSChan/p/4861990.html
Copyright © 2011-2022 走看看