Free pascal 输入2个正整数求相除的值,如果有循环节,用括号括起来
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 20:45:48
Free pascal 输入2个正整数求相除的值,如果有循环节,用括号括起来
输入n,m,求n/m的值,循环节用括号括起来,如1/3=(3)只要longint就够
输入n,m,求n/m的值,循环节用括号括起来,如1/3=(3)只要longint就够
{1/3=0.(3)是么?}
const maxm=1000;//m的最大值
var n,m,l,r,i:longint;
ans:array[0..100000] of longint;
remember:array[0..maxm]of longint;
flag:boolean;
procedure getans(x,k:longint);
begin
repeat
if remember[k]>0 then
begin
l:=remember[k];
r:=x-1;
flag:=true;
exit;
end;
remember[k]:=x;
ans[x]:=k*10 div m;
k:=k*10 mod m;
if k=0 then
begin
flag:=false;
r:=x;
exit;
end;
inc(x);
until false;
end;
begin
readln(n,m);
write(n div m);
n:=n mod m;
if n0 then
begin
write('.');
l:=0;r:=0;
getans(1,n);
for i:=1 to r do
begin
if flag and (l=i) then write('(');
write(ans[i]);
if flag and (i=r) then write(')');
end;
end;
readln;
end.
const maxm=1000;//m的最大值
var n,m,l,r,i:longint;
ans:array[0..100000] of longint;
remember:array[0..maxm]of longint;
flag:boolean;
procedure getans(x,k:longint);
begin
repeat
if remember[k]>0 then
begin
l:=remember[k];
r:=x-1;
flag:=true;
exit;
end;
remember[k]:=x;
ans[x]:=k*10 div m;
k:=k*10 mod m;
if k=0 then
begin
flag:=false;
r:=x;
exit;
end;
inc(x);
until false;
end;
begin
readln(n,m);
write(n div m);
n:=n mod m;
if n0 then
begin
write('.');
l:=0;r:=0;
getans(1,n);
for i:=1 to r do
begin
if flag and (l=i) then write('(');
write(ans[i]);
if flag and (i=r) then write(')');
end;
end;
readln;
end.
pascal 题,输入5个正整数求它们的最大公约数.
用Free Pascal 做 求两个正整数的最大公约数
输入一个正整数N,把它分解成质因子相乘的形式.如:36=1×2×2×3×3;用 FREE pascal.
用free pascal语言的直到型循环解下面这道题
pascal 输入30个正整数,计算它们的和,平方和
用free pascal编程:输入两个数,求他们的最大公因数和最小公倍数
FREE PASCAL,输入两个数,求最小公倍数
free pascal语言.打印下列图形(共4个).用循环.
Free Pascal语言.求10个数的最大值和最小值,我们循环语句的作业,帮看下,
1.求两个正整数(不超过一百位)的和.2.求两个正整数(不超过一百位)的差.用Free pascal
用free pascal输入三角形三条边的值,能构成三角形,输出其面积后结束,不能输出no
用FREE PASCAL的简单的循环语句便一道题