回 帖 发 新 帖 刷新版面

主题:救命呀呀呀!50分我等你!

怎么求?

编程将十进制M转换成K进制,2<=K<=9,
输入M 和K给出答案!

[fly]我QQ:1078350005,太难了!!!帮帮我[/fly]
[email]wyw628729@sohu.com[/email]

回复列表 (共4个回复)

沙发

如果是非高精整数,那是非常容易的事儿。
总体思路就是:
先整一个log10(abs(m))/log10(k)+1取整后那么大的字符数组(在Delphi中就直接用字符串)
然后用m反复的除K并保存其余数到字符数组中(从后往前存)。
当M值为0时,输出M的符号。
最后输出数组便可。

板凳

哦,我知道了,可能不能给我一个程序,我自己来理解

3 楼

我知道了!
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 楼

不错

我来回复

您尚未登录,请登录后再回复。点此登录或注册