3个回答
展开全部
思想:把n每一位分解,再乘以k^i求和,就可以了。
以n(i) 表示 n的第i位数(从右往左),m表示十进制转换后的数。
∴m=∑n(i)*k^i
程序段:
\\*****\\
a:=1;m:=0;
while n>0 do
begin
m:=m+(n mod 10)*a;
n:=n div 10;
a:=a*k;
end;
以n(i) 表示 n的第i位数(从右往左),m表示十进制转换后的数。
∴m=∑n(i)*k^i
程序段:
\\*****\\
a:=1;m:=0;
while n>0 do
begin
m:=m+(n mod 10)*a;
n:=n div 10;
a:=a*k;
end;
参考资料: pascal语言
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var n:string;
k,a,c,i:longint;
begin
readln(k);readln(n);
c:=length(n);
a:=0;
for i:=1 to c do a:=a*k+ord(n[i])-ord('0');
write(a);
end.
数学表达就如我程序中所写
k,a,c,i:longint;
begin
readln(k);readln(n);
c:=length(n);
a:=0;
for i:=1 to c do a:=a*k+ord(n[i])-ord('0');
write(a);
end.
数学表达就如我程序中所写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var n,k,s,t:integer;
begin
readln(k,n);
s:=0; t:=1;
while(n<>0) do
begin
s:=s+(n mod 10)*t;
t:=t*k;
n:=n div 10;
end;
writeln(s);
end.
begin
readln(k,n);
s:=0; t:=1;
while(n<>0) do
begin
s:=s+(n mod 10)*t;
t:=t*k;
n:=n div 10;
end;
writeln(s);
end.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询