fork(1) download
  1. program Chislo;
  2. var Number,Sum,Digits,Product:longint;
  3.  
  4. {Считывание числа}
  5. procedure input(var Number:longint);
  6. begin
  7. writeln('Input Number');
  8. readln(Number);
  9. end;
  10.  
  11. {Вычисление количества цифр}
  12. function calDigits(Number:longint):longint;
  13. begin
  14. Digits:=0;
  15. repeat
  16. while Number <> 0 do
  17. begin
  18. Number:=(Number div 10);
  19. Inc(Digits);
  20. calDigits:=Digits;
  21. end;
  22. until Number = 0;
  23. if Number = 0 then calDigits:=1;
  24. end;
  25.  
  26. {Вычисление суммы цифр}
  27. function calSum(Number:longint):longint;
  28. begin
  29. Sum:=0;
  30. repeat
  31. while Number <> 0 do
  32. begin
  33. Number:=(Number mod 10);
  34. Sum:=Number + Sum;
  35. calSum:=Sum;
  36. end;
  37. until Number = 0;
  38. if Number = 0 then calSum:=0;
  39. end;
  40.  
  41. {Произведение цифр}
  42. function calProduct(Number:longint):longint;
  43. begin
  44. Product:=1;
  45. repeat
  46. while Number <> 0 do begin
  47. Number:=(Number mod 10);
  48. Product:=Number * Product;
  49. calProduct:=Product;
  50. end;
  51. until Number = 0;
  52. if Number = 0 then calProduct:=0;
  53. end;
  54.  
  55. {Вывод данных}
  56. procedure output(Number,Digits,Sum,Product:longint);
  57. begin
  58. writeln('NUMBER: ',Number);
  59. writeln('DIGITS: ',Digits);
  60. writeln('SUM: ', Sum);
  61. writeln('PRODUCT: ',Product);
  62. end;
  63.  
  64. begin
  65. input(Number);
  66. Digits:=calDigits(Number);
  67. Sum:=calSum(Number);
  68. Product:=calProduct(Number);
  69. output(Number,Digits,Sum,Product);
  70. end.
Time limit exceeded #stdin #stdout 5s 4068KB
stdin
101
stdout
Input Number