发布时间:2019-09-02 17:26:35
算法:
从1开始循环,每次将循环变量的个位后面添加数字7,得小数;在循环变量的最高位前添7,得扩大后的数。然后检查小数*5是否等于大数。是就输出结果,并结束循环。
var n,m,a,b:longint; f:boolean; begin n:=0; f:=false; //找着结果的标记,true为已有结果,false尚未找着结果 repeat inc(n); //n为循环变量 a:=n*10+7; //求出小数 b:=7; //大数初始值为7 m:=n; //以下根据n的位数,将数字7向高位移位(即末尾添0) repeat m:=m div 10; b:=b*10; until m=0; b:=b+n; //得到大数 if a*5=b then //判断结果 begin writeln(a); f:=true; end; until f;end.计算结果是142857