fork download
  1. program enigmath;
  2. Uses Math;
  3. const MAXX=102;
  4. var
  5. Emin, Emax, i, S, K, inizio, val, count : longint;
  6. cod, dec :array[0..1000000] of longint;
  7.  
  8. function codifica (x:Longint):Longint;
  9. begin
  10. if x < 10 then codifica:=x (* single digit*)
  11. else
  12. begin
  13. S := 0; K:= x;
  14. while K>0 do
  15. begin
  16. S:=S + K mod 10; (*sum of digits*)
  17. K:=K div 10;
  18. end;
  19. codifica:=x + codifica(S);
  20. end;
  21. end;
  22.  
  23. begin
  24. (*assign(input, 'input.txt'); reset(input);
  25.   assign(output, 'output.txt'); rewrite(output);*)
  26.  
  27. readln(Emin,Emax);
  28. if Emin<=102 then inizio:=0
  29. else inizio:=Emin-102;
  30. count:=Emax-Emin+1;
  31. for i:=inizio to count do dec[i]:=0;
  32. for i := inizio to Emax do
  33. begin
  34. val := codifica(i);
  35. if (Emin <= val) and (val <= Emax) then
  36. begin
  37. cod[val-Emin]:=i;
  38. dec[val-Emin]:=dec[val-Emin]+1;
  39. end;
  40. end;
  41. for i := 0 to count-1 do
  42. begin
  43. if dec[i]= 0 then writeln('ciao IMPOSSIBLE')
  44. else if dec[i]>1 then writeln('AMBIGUOUS')
  45. else writeln(cod[i]);
  46. end;
  47. end.
Success #stdin #stdout 0s 5320KB
stdin
42 42
stdout
29