Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #define DEBUG
- int countDays(int year, int month, int day) {
- return year * 365 + month * 30 + day;
- }
- int getMiddleDigits(long long int num) {
- char sNum[25];
- sprintf(sNum, "%lld", num);
- int startPos = (int)(strlen(sNum) / 2) - 1;
- char sAns[4];
- sprintf(sAns, "%c%c%c", sNum[startPos], sNum[startPos + 1], sNum[startPos + 2]);
- int ans;
- sscanf(sAns, "%d", &ans);
- return ans;
- }
- int main(int argc, unsigned char* argv[]) {
- int k;
- sscanf(argv[4], "%d", &k);
- #ifdef DEBUG
- printf("k = %d\n", k);
- #endif
- unsigned long long sum = 0;
- for (int i = 1; i < 4; i++)
- {
- for (int j = 0; j < strlen(argv[i]); j += 2)
- {
- unsigned long long temp = (argv[i][j] << 8) + argv[i][j + 1];
- //printf("%llx\n", temp);
- sum += temp * temp;
- }
- }
- #ifdef DEBUG
- printf("sum = %lld\n", sum);
- #endif
- int day, month, year;
- sscanf(argv[5], "%d.%d.%d", &day, &month, &year);
- int days = countDays(year, month, day);
- #ifdef DEBUG
- printf("days = %d\n", days);
- #endif
- long long int s = (long long)sum * (long long)days;
- #ifdef DEBUG
- printf("s = %lld\n", s);
- #endif
- int s1 = getMiddleDigits(s);
- #ifdef DEBUG
- printf("s1 = %d\n", s1);
- #endif
- int n = s1 % k + 1;
- printf("Answer: %d\n", n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment