主题:救命呀呀呀!50分我等你!
小勇士来了2
[专家分:850] 发布于 2010-07-22 18:53:00
怎么求?
编程将十进制M转换成K进制,2<=K<=9,
输入M 和K给出答案!
[fly]我QQ:1078350005,太难了!!!帮帮我[/fly]
[email]wyw628729@sohu.com[/email]
回复列表 (共4个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2010-07-22 23:49:00
如果是非高精整数,那是非常容易的事儿。
总体思路就是:
先整一个log10(abs(m))/log10(k)+1取整后那么大的字符数组(在Delphi中就直接用字符串)
然后用m反复的除K并保存其余数到字符数组中(从后往前存)。
当M值为0时,输出M的符号。
最后输出数组便可。
板凳
小勇士来了2 [专家分:850] 发布于 2010-07-23 13:08:00
哦,我知道了,可能不能给我一个程序,我自己来理解
3 楼
小勇士来了 [专家分:220] 发布于 2010-07-23 13:10:00
我知道了!
var
a:array[1..1000] of integer;
k,m,n,i,j:longint;
begin
readln(m,k);
n:=m;
repeat
i:=i+1;
a[i]:=n mod k;
n:=n div k;
until n=0;
for j:=i downto 1 do
write (a[j]);
end.
4 楼
小勇士来了2 [专家分:850] 发布于 2010-07-23 13:10:00
不错
我来回复