fork(2) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int palinSum(int num, int* pointSum){
  6. int revNum=0, mod=10;
  7. while(mod<=num) mod*=10;
  8. for(int i=1; i<=num; i*=10){
  9. revNum+=(int)((num%mod)/(mod/10))*i;
  10. mod/=10;
  11. }
  12. if(num==revNum) return revNum;
  13. else {
  14. *pointSum=*pointSum+1;
  15. return palinSum(num+revNum, pointSum);
  16.  
  17. }
  18. }
  19.  
  20. int howMany, number, sumNum;
  21.  
  22. int main()
  23. {
  24. cin>>howMany;
  25. for(int i=0; i<howMany; i++){
  26. sumNum=0;
  27. cin>>number;
  28. cout<<palinSum(number, &sumNum)<<" "<<sumNum<<endl;
  29. }
  30.  
  31.  
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0.01s 5564KB
stdin
80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
67
57
58
59
60
61
62
63
64
65
66
68
69
70
71
72
73
74
755
75
76
77
78
79
stdout
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
11 1
11 0
33 1
44 1
55 1
66 1
77 1
88 1
99 1
121 2
22 1
33 1
22 0
55 1
66 1
77 1
88 1
99 1
121 2
121 1
33 1
44 1
55 1
33 0
77 1
88 1
99 1
121 2
121 1
363 2
44 1
55 1
66 1
77 1
44 0
99 1
121 2
121 1
363 2
484 2
55 1
66 1
77 1
88 1
99 1
55 0
121 1
484 2
363 2
484 2
1111 3
66 1
77 1
88 1
99 1
121 2
121 1
66 0
1111 3
4884 4
77 1
88 1
99 1
121 2
121 1
3443 2
363 2
484 2
77 0
4884 4
44044 6