30 lines
660 B
Text
30 lines
660 B
Text
string 0; \use zero-terminated strings
|
|
|
|
proc GetString(S); \Get string (S) from user
|
|
char S;
|
|
[loop [S(0):= ChIn(0);
|
|
if S(0) = $0D \CR\ then quit;
|
|
S:= S+1;
|
|
];
|
|
S(0):= 0; \replace CR with terminator
|
|
];
|
|
|
|
int Limit, I, Factor(3), Str(3,40), F(3), N;
|
|
[Limit:= IntIn(0);
|
|
for I:= 0 to 2 do
|
|
[Factor(I):= IntIn(0);
|
|
GetString(Str(I));
|
|
F(I):= 0;
|
|
];
|
|
for N:= 1 to Limit do
|
|
[for I:= 0 to 2 do
|
|
[F(I):= F(I)+1;
|
|
if F(I) >= Factor(I) then
|
|
[Text(0, Str(I));
|
|
F(I):= 0;
|
|
];
|
|
];
|
|
if F(0)*F(1)*F(2) # 0 then IntOut(0, N);
|
|
CrLf(0);
|
|
];
|
|
]
|