turbo pascal 高手进
有算式:975*935*972*()问:括号里最少能填几提示:算式后4位=0000;要用repeat循环不准用函数不准用array不准用for不准用whlie只准用整数的...
有算式:975*935*972*()
问 :括号里最少能填几
提示:算式后4位=0000;
要用 repeat 循环
不准用函数
不准用array
不准用 for
不准用whlie
只准用整数的拆分
不准用break
算了 修改这个程序吧:
var a,b,c:integer;
begin
/ a:=(975*935*925) mod 10000 / || 这个是比的 《- 如何求 修改
repeat
b:=b+1; || 慢慢推
c:=(975*935*972*b)mod 10000 || 填括号
until c=a;|| 比 如果 等于 就结束循环
writeln(b);||打印
end 展开
问 :括号里最少能填几
提示:算式后4位=0000;
要用 repeat 循环
不准用函数
不准用array
不准用 for
不准用whlie
只准用整数的拆分
不准用break
算了 修改这个程序吧:
var a,b,c:integer;
begin
/ a:=(975*935*925) mod 10000 / || 这个是比的 《- 如何求 修改
repeat
b:=b+1; || 慢慢推
c:=(975*935*972*b)mod 10000 || 填括号
until c=a;|| 比 如果 等于 就结束循环
writeln(b);||打印
end 展开
3个回答
展开全部
var
a,b,c,wu,er:integer;//wu是多个5的乘积;er是多个2的乘积
begin
a:=975; b:=935; c:=972;
wu:=1; er:=1;
repeat
if a mod 5=0 then
begin if wu<5*5*5*5 then wu:=wu*5; a:=a div 5; end;
//10000是5个5和2个2的乘积;只要满足这个条件算式后4位就是0000
if a mod 2=0 then
begin if er<2*2*2*2 then er:=er*2; a:=a div 2; end;
until (a mod 5<>0)and(a mod 2<>0);
repeat//3个已知数依次算出是不是能被5和2整除
if b mod 5=0 then
begin if wu<5*5*5*5 then wu:=wu*5; b:=b div 5; end;
if b mod 2=0 then
begin if er<2*2*2*2 then er:=er*2; b:=b div 2; end;
until (b mod 5<>0)and(b mod 2<>0);
repeat
if c mod 5=0 then
begin if wu<5*5*5*5 then wu:=wu*5; c:=c div 5; end;
if c mod 2=0 then
begin if er<2*2*2*2 then er:=er*2; c:=c div 2; end;
until (c mod 5<>0)and(c mod 2<>0);
writeln(10000 div (wu*er));
end.
修改程序如下:
var a,b,c:int64;
begin
a:=(975*935*925) mod 10000;
b:=1;
if a<>0 then
repeat
b:=b+1;
c:=(975*935*972*b) mod 10000;
until c=0;
writeln(b);
end.
a,b,c,wu,er:integer;//wu是多个5的乘积;er是多个2的乘积
begin
a:=975; b:=935; c:=972;
wu:=1; er:=1;
repeat
if a mod 5=0 then
begin if wu<5*5*5*5 then wu:=wu*5; a:=a div 5; end;
//10000是5个5和2个2的乘积;只要满足这个条件算式后4位就是0000
if a mod 2=0 then
begin if er<2*2*2*2 then er:=er*2; a:=a div 2; end;
until (a mod 5<>0)and(a mod 2<>0);
repeat//3个已知数依次算出是不是能被5和2整除
if b mod 5=0 then
begin if wu<5*5*5*5 then wu:=wu*5; b:=b div 5; end;
if b mod 2=0 then
begin if er<2*2*2*2 then er:=er*2; b:=b div 2; end;
until (b mod 5<>0)and(b mod 2<>0);
repeat
if c mod 5=0 then
begin if wu<5*5*5*5 then wu:=wu*5; c:=c div 5; end;
if c mod 2=0 then
begin if er<2*2*2*2 then er:=er*2; c:=c div 2; end;
until (c mod 5<>0)and(c mod 2<>0);
writeln(10000 div (wu*er));
end.
修改程序如下:
var a,b,c:int64;
begin
a:=(975*935*925) mod 10000;
b:=1;
if a<>0 then
repeat
b:=b+1;
c:=(975*935*972*b) mod 10000;
until c=0;
writeln(b);
end.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们的人生将会是多姿多彩的,我们的生活将会是幸福美满的,我们的未来将会是灿烂辉煌的。。人生,一定不会一帆风顺,但我们会坚强的面对一切之磨难,永不放弃,直至成功学会坚强,拥有坚强,运用坚强,让它永恒于心中长眠。。每个人都会有这样一种错觉,总觉得那些得不到的东西才是最好的,总觉得那些够不着的东西才是最想要的。。被这样一种错觉左右着,我们总是在不停的仰望,不停的寻找。。仰望那些看似离我们很近,但实际上却并非唾手可得的东西。。寻找那些可望而不可即的东西,如镜中花,水中月。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var a,b,c:longint; //integer -> longint
begin
a:=((975*935)mod 10000)mod 10000;
b:=0;
repeat
b:=b+1;
c:=(a*b)mod 10000;
until c=a;
writeln(b);
end.
integer要改为longint,因为975*935早就超过了integer(3万多)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询