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;
    }



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

  • 相关阅读:
    nginx配置ssl双向验证 nginx https ssl证书配置
    查看nginx cache命中率
    nginx 直接在配置文章中设置日志分割
    tomcat配置文件server.xml详解
    nagios服务端安装
    nagios客户端安装
    nagios原理及配置详解
    Nagios 监控系统架设全攻略
    nginx日志配置
    为MySQL选择合适的备份方式
  • 原文地址:https://www.cnblogs.com/DSChan/p/4861990.html
Copyright © 2011-2022 走看看