用pascal 一个正整数的个位数字是6,如果把个位数字移到首位,所得到的数是原数的4倍,试编程 5

RedBaronVIP
2012-11-20 · TA获得超过1147个赞
知道小有建树答主
回答量:655
采纳率:0%
帮助的人:246万
展开全部
1、设原数x位数为n,形为:x = ????6 = ????0 + 6
移位后得到:4x = 6???? = 60000 + ???? = 6*10^(n - 1) + ????
= 6*10^(n - 1) + (x - 6) / 10
两边同乘10,得到:40x = 6*10^n + x - 6
简化可得:39x = 6*10^n - 6,题目转化为等式右边能否被39整除的问题。
2、程序如下
program Project1;
// Pascal没有幂函数,自己写
function Power(X, I: Word): Int64;
begin
Result := 1;
while I > 0 do
begin
Result := Result * X;
Dec(I);
end;
end;

var
x, y: Int64;
n: Integer;
begin
// Int64类型表示为10进制最多19位
for n := 1 to 19 do
begin
y := 6 * Power(10, n) - 6;
x := y div 39;
if x * 39 = y then
Writeln(x);
end;
Readln;
end.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式