zoukankan      html  css  js  c++  java
  • 输入分子和分母,打印出前1000位小数

    program oneThousandNumberic;
    
    var
    son,mom,divNum,modNum,i:integer;
    
    begin
    writeln('pls input son:');
    readln(son);
    writeln('pls input mom:');
    readln(mom);
    
    i:=1;
    divNum:=son;
    
    while i<=1001 do
    begin
        write(divNum div mom);
        if i=1
        then write('.');
        modNum:=divNum mod mom;
        divNum:=modNum*10;
        i:=i+1;
    end;
    end.
    
    题目:输入分子和分母,打印出他的1000位小数。

    这道题就是拆分每次的动作。
    2 div 7 = 0
    2 mod 7 = 2 <-- next div source
    print .
    2*10 div 7 = 2
    2*10 mod 7 = 6 <--
    6*10 div 7 = 8
    6*10 mod 7 = 4 <--
    4*10 div 7 = 5
    4*10 mod 7 = 5 <--
    5*10 div 7 = 7
    5*10 mod 7 = 1 <--
    1*10 div 7 = 1
    1*10 mod 7 = 3 <--

    print result:
    0.28571

    用每次的除数 去除 分母,商就是当位的值
    然后余数就是作为下一位除法的源头,也就是余数*10.

    只用打印每次的商,就是小数位了 

    这道题给我的感觉就是,计算过程很质朴,思路很简单。

    就是简单的把人做除法的步骤准确化,使得计算机可以按步骤执行。

    然后利用计算机算东西很快的能力,算出结果。

  • 相关阅读:
    Tarjan专题
    Catalan数
    状压DP
    威尔逊定理证明:
    【fzoj 2376】「POJ2503」Babelfish
    Android 源码
    Android实现推送方式解决方案
    Android apk 签名
    圆角的实现
    Android 资源
  • 原文地址:https://www.cnblogs.com/lsjava/p/15369541.html
Copyright © 2011-2022 走看看