Pascal编程问题:一个数将它变成一位数字,变成一位数字的方法如下
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/09 02:36:00
Pascal编程问题:一个数将它变成一位数字,变成一位数字的方法如下
把正整数里面的每位数字相乘,比如:6593。将这个整数中的各位数字全部取出,将他们相乘,得到一个新的整数,上面的例子就是6*5*9*3=810,然后继续做下去,8*1*0*=0得到了一个个位数0。
问最后剩下的个位数字是几?
输入:
98886
输出:
0 注意这个数的位数(2
把正整数里面的每位数字相乘,比如:6593。将这个整数中的各位数字全部取出,将他们相乘,得到一个新的整数,上面的例子就是6*5*9*3=810,然后继续做下去,8*1*0*=0得到了一个个位数0。
问最后剩下的个位数字是几?
输入:
98886
输出:
0 注意这个数的位数(2
① 你对这道题有什么要求? 如果不用函数,怕是很难简洁清晰地写出了。
② 这题原理简单,但由于输入的『位』数可以是2~100位,那么任何标准数据类型的范围都不够,需要用到大数运算,即用字符串做+-运算。~ 这个你可以接受么?
③ 原理代码(不用大数运算)如下:program number_game;
var
n, m, product : Longint;
begin
readln(n);
while (n>0) do
begin
m := n; product := 1;
while (m>0) do
begin
product := product * (m mod 10);
m := m div 10;
end;
if (product = 0) then break;
if n = product then break;
n := product;
writeln(' ', n); // debug
end;
writeln(product);
end.④ 用大数运算的结果:⑤ 有问题或需要用大数运算,继续追问吧~
再问: 我就是要用字符串来解答啊,但可以不要函数吗?
再答: ① 任意长度的两个数字字符串×,需要用到任意长度的两个数字字符串的+。不用函数,代码的清晰地锐减,对你的理解无助~
② 下面是简化版,内嵌任意长度字符串×个位数字的实现~。 ---- 函数是程序的基本,尽快熟悉起来吧~ /// 百度又抽风了, 说字符数目超了~ 只能到你另一个问题里回复你了http://zhidao.baidu.com/question/1703494807087258260.html③运行
② 这题原理简单,但由于输入的『位』数可以是2~100位,那么任何标准数据类型的范围都不够,需要用到大数运算,即用字符串做+-运算。~ 这个你可以接受么?
③ 原理代码(不用大数运算)如下:program number_game;
var
n, m, product : Longint;
begin
readln(n);
while (n>0) do
begin
m := n; product := 1;
while (m>0) do
begin
product := product * (m mod 10);
m := m div 10;
end;
if (product = 0) then break;
if n = product then break;
n := product;
writeln(' ', n); // debug
end;
writeln(product);
end.④ 用大数运算的结果:⑤ 有问题或需要用大数运算,继续追问吧~
再问: 我就是要用字符串来解答啊,但可以不要函数吗?
再答: ① 任意长度的两个数字字符串×,需要用到任意长度的两个数字字符串的+。不用函数,代码的清晰地锐减,对你的理解无助~
② 下面是简化版,内嵌任意长度字符串×个位数字的实现~。 ---- 函数是程序的基本,尽快熟悉起来吧~ /// 百度又抽风了, 说字符数目超了~ 只能到你另一个问题里回复你了http://zhidao.baidu.com/question/1703494807087258260.html③运行
用pascal编写程序 如果一个4位数等于它的每一位数字4次方之和,则称为玫瑰花数,求所有的玫瑰花数.
四名同学做加法练习:任给一个六位数,将它的个位数字(不等于0)拿到这个数的最左边一位数字的左边
pascal编程 数字图形
两位自然数之间插入0到9的一位数字,变成3位数,是原来的9倍,这样的数有哪些写出来
数字游戏 pascal编程题
比如数字1.234,我减少一位小数位数,再增加一位小数位数就变成1.230了,为什么?
从键盘输入一个四位数,被认为是正整数X,编程计算X的每一位数字相加之和.
一个数,把他的小数点往后移动一位,形成一个新的数字.
来个牛B的数学题!有一个数字,是几位数不告诉你,只告诉你把它的最后一位放到第一位,这个数字会变成原来的两倍,比如原来是X
数字排列问题(pascal)
pascal数字排列问题
哪个数字去掉最后一个数变成40,去掉最前面一个数变成13?