模拟即可。
Program POJ1003;//By_Poetshy
Var
k,n :Real;
i :Longint;
Procedure Main;
begin
n:=-1;
while n<>0 do
begin
readln(n);
if n=0 then halt;
i:=1;
k:=0;
while k<n do
begin
inc(i);
k:=k+(1/i);
end;
writeln(i-1,' card(s)');
end;
end;
BEGIN
main;
END.