Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class Numerology
- {
- static void Main()
- {
- //14 * 3 * 1990 = 83,580;
- //03 (odd month) => 83,580 * 83,580 = 6,985,616,400;
- //6,985,616,400 + 2 * 16 (P) + 1 (a) + 14 (n) + 1 (a) + 25 (y) + 15 (o) + 20 (t) = 6,985,616,508 ( > 13);
- // 6 + 9 + 8 + 5 + 6 + 1 + 6 + 5 + 0 + 8 = 54 (> 13);
- // 5 + 4 = 9 (∈ [0, 13] => Done!)
- string[] input = Console.ReadLine().Split('.', ' ');
- int day = int.Parse(input[0]);
- int month = int.Parse(input[1]);
- int year = int.Parse(input[2]);
- string username = input[3];
- long result = day * month * year;
- if (month % 2 == 1)
- {
- result *= result;
- }
- for (int i = 0; i < username.Length; i++)
- {
- char currentChar = username[i];
- if (currentChar >= '0' && currentChar <= '9')
- {
- result += currentChar - '0';
- }
- else if (currentChar >= 'a' && currentChar <= 'z')
- {
- result += (currentChar - 'a') + 1;
- }
- else if (currentChar >= 'A' && currentChar <= 'Z')
- {
- result += 2 * (currentChar - 'A' + 1);
- }
- }
- while (result > 13)// pri purvoto cqlostno zavurtane na cikula digitSum/result mi e 54 i zatova vliza oshte 1 put v nego i rezultata e 9
- {
- int digitSum = 0;
- while (result > 0)
- {
- digitSum += (int)(result % 10);// zimame poslednata cifra i q pribavame kum digitSum naprimer 6,985,616,508 zimame 8 s result % 10
- result /= 10;// delim result na 10 za da moje d ami premahne poslednata cifra 6,985,616,508 maha 8 i 4isloto stava 6,985,616,50 i taka vurti while cikula dokato result ne stane 0
- }
- result = digitSum;// poneje rsulta mi stava 0 mu davame da pridobie stoinostta na digitSum v tozi slu4ai purviqt put mi e 54 i za tova go vuri oshte 1 put
- }
- Console.WriteLine(result);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment