输入分子和分母,打印出前1000位小数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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 . |
1 | 题目:输入分子和分母,打印出他的 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.
只用打印每次的商,就是小数位了
这道题给我的感觉就是,计算过程很质朴,思路很简单。
就是简单的把人做除法的步骤准确化,使得计算机可以按步骤执行。
然后利用计算机算东西很快的能力,算出结果。
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 感觉程序员要被 AI 淘汰了?学什么才有机会?
· MQTT协议发布和订阅的实现,一步步带你实现发布订阅服务。
· Dify开发必备:分享8个官方文档不曾解释的关键技巧
· 活动中台系统慢 SQL 治理实践
· “你觉得客户需要”是杀死TA的最后一根稻草 | IPD集成产品开发