Guest User

Untitled

a guest
Nov 19th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. //
  2. // main.cpp
  3. // lecture6_hw2
  4. //
  5. // Created by Михаил Мустакимов on 16.11.17.
  6. // Copyright © 2017 Mikhail Mustakimov. All rights reserved.
  7. //
  8.  
  9. #include <iostream>
  10. #include <string>
  11.  
  12. using namespace std;
  13.  
  14. short calcCheckNum(short n, short ln) {
  15. short tmp = n * ((ln % 2 == 0)? 1 : 2);
  16. tmp = (tmp > 9)? (tmp-9)%10 : tmp;
  17. return tmp;
  18. }
  19.  
  20. int main(int argc, const char * argv[]) {
  21. string number;
  22. getline(cin, number);
  23. long sum = 0;
  24. long ln = 0;
  25. long xcount = 0;
  26. short xln = 0;
  27. for (long i=number.length()-1; i>=0; i--) {
  28. char ch = number[i];
  29. if (ch >= '0' && ch <= '9') {
  30. short n = ch - '0';
  31. sum += calcCheckNum(n, ln++);
  32. }
  33. if (ch == 'X' || ch == 'x'){
  34. xcount++;
  35. xln = ln++;
  36. }
  37. }
  38. if (xcount != 1){
  39. cout << "WRONG";
  40. return 0;
  41. }
  42. for (int i=0; i<10; i++) {
  43. long tmp = sum + calcCheckNum(i, xln);
  44. if (tmp % 10 == 0) {
  45. cout << i << endl;
  46. break;
  47. }
  48. }
  49. return 0;
  50. }
Add Comment
Please, Sign In to add comment