主题:初学者请教,简单问题
PscBeginner
[专家分:0] 发布于 2006-07-14 17:30:00
设计程序求一个最小正整数,使得它被3除余2,被7除余3,被11除余4
我的答案如下(有错):
program xmod;
var x:integer;
begin
repeat
x:=x+1;
until x mod 3=2 and x mod 7=3 and x mod 11=4;
writeln('x=',x);
readln
end.
请前辈们指点一下
[em2][em3]
回复列表 (共11个回复)
沙发
PscBeginner [专家分:0] 发布于 2006-07-14 19:47:00
晕```咋没人帮小弟呢??
板凳
贺天行宝 [专家分:2300] 发布于 2006-07-14 20:12:00
。。。。你才发那么点时间,当然没人帮,要耐心啊
program xmod;
var x:integer;
begin
repeat
x:=x+1;
until (x mod 3=2) and (x mod 7=3) and (x mod 11=4);
writeln('x=',x);
readln
end.
你括号没加哦
加分哦
3 楼
PscBeginner [专家分:0] 发布于 2006-07-15 00:31:00
原来是这样,我狂晕```
顺便问一下,初学者应该学些什么?如何练习?
4 楼
dongbili [专家分:30] 发布于 2006-07-19 21:03:00
program xmod;
var x:integer;
begin
x:=0;
repeat
x:=x+1;
until (x mod 3=2) and (x mod 7=3) and (x mod 11=4);
writeln('x=',x);
readln
end.
而且x没赋初值!
5 楼
贺天行宝 [专家分:2300] 发布于 2006-07-21 11:08:00
。。。。4楼说的没错
学什么??问问你的老师把
先把基础操作学了,比如那个括号-_-,然后算法,然后做题!
6 楼
游侠UFO [专家分:1200] 发布于 2006-07-21 19:27:00
练语法嘛,如果你对编写游戏感兴趣可以适当的写点小游戏
7 楼
tl3shi [专家分:110] 发布于 2006-07-22 12:20:00
我觉得还可以简化一下:
var
x:integer;
begin
x:=15;{最小的}
repeat
x:=x+1;
until (x mod 3=2)and(x mod 7=3)and(x mod 11=4);
write('x=',x);
end.
8 楼
游侠UFO [专家分:1200] 发布于 2006-07-26 17:39:00
[quote]我觉得还可以简化一下:
var
x:integer;
begin
x:=15;{最小的}
repeat
x:=x+1;
until (x mod 3=2)and(x mod 7=3)and(x mod 11=4);
write('x=',x);
end.[/quote]
这个减少了判断次数,提高了程序效率!
PS:这不叫简化叫优化!!
9 楼
cuizhilin37 [专家分:0] 发布于 2006-07-26 18:16:00
直接输出59不就得了吗.
10 楼
cxy1993 [专家分:10] 发布于 2006-08-12 18:15:00
我认为4楼的有点多虑了,在PASCAL中,变量默认的值是0,我认为可以不用写'X:=0',简化程序!
我来回复