输入n和m,输出n的m次方,答案不会超过longint范围,求一pascal程序
答案:5 悬赏:10 手机版
解决时间 2021-04-23 16:37
- 提问者网友:未信
- 2021-04-23 06:24
是求n的m次方的答案
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-04-23 07:17
var n,m,i:integer;
s:longint;
begin
readln(n,m);s:=1;
for i:=1 to m do begin s:=s*n;
writeln(s);
end.
s:longint;
begin
readln(n,m);s:=1;
for i:=1 to m do begin s:=s*n;
writeln(s);
end.
全部回答
- 1楼网友:执傲
- 2021-04-23 11:38
首先楼主要信任我的程序要比他们的短而且更好:1:program exam;var i,x:integer;beginx:=1;for i:=1 to 99 dox:=x*99;writeln(x mod 1000);end.2:这道题比较经典,我这种方法是史上最简单的,简称筛法program zhishu;
var x,n: longint;
var j:boolean;
begin
while not eof do
begin
readln(n);
if (n=0) or (n=1) then writeln('N','o') else
begin
x:=2;
j:=true;
for x:=2 to round(sqrt(n)) do
if n mod x = 0 then j:=false;
if j=true then writeln('Yes') else writeln ('No');
end;
end;
end.望楼主采纳 麻烦.采纳.·.·`··^·
- 2楼网友:洒脱疯子
- 2021-04-23 09:58
(在Delphi里可以用power函数。)
var a:array[0..10000] of longint;
i,j,n,m:longint;
begin
readln(n,m);
a[0]:=1;
a[a[0]]:=1;
for i:=1 to m do
begin
for j:=a[0] downto 1 do
begin
a[j]:=a[j]*n;
a[j+1]:=a[j+1]+a[j] div 10000;
a[j]:=a[j] mod 10000;
end;
if a[a[0]+1]>0 then
inc(a[0]);
end;
write(a[a[0]]);
for i:=a[0]-1 downto 1 do
begin
if a[i]<1000 then
write(0);
if a[i]<100 then
write(0);
if a[i]<10 then
write(0);
write(a[i]);
end;
end.
- 3楼网友:我住北渡口
- 2021-04-23 08:54
var
n,m,i:integer;
t:int64;
s:longint;
x:boolean
begin
x:=false;
while x=false do
begin
write('bottom number (n):');
readln(n);
write('exponent (m):');
readln(m);
t:=1;
for i:=1 to m do t:=t*n; //乘方
if t > 2147483648 then //判断结果是否超出longint范围
begin
x:=false;
writeln('error!');
end
else begin
x:=true;
s:=t;
write(n,'^',m,'=',s);
end;
end.
- 4楼网友:洎扰庸人
- 2021-04-23 08:27
真是,深搜,再剪枝就是。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯