#include #include #include #define AFFINE_A 0x66 #define AFFINE_B 3 // correct answer: flag{You_found_the_answer!} int main(){ const char TRUE_ANS[] = "zpdt""{Pxn_zxndl""_tnf_ddzbff!}"; char input[100] = { 0 }; printf("Input your answer: "); scanf("%s", input); if (strlen(input) != strlen(TRUE_ANS)) { printf("Wrong input length!\n"); return 1; } for(int i = 0; i <= strlen(input); i++) { char input_enc = 0; if (input[i] >= 'a' && input[i] <= 'z') input_enc = (((input[i] - 'a') * AFFINE_A + AFFINE_B) % 26) + 'a'; else if (input[i] >= 'A' && input[i] <= 'Z') input_enc = (((input[i] - 'A') * AFFINE_A + AFFINE_B) % 26) + 'A'; else input_enc = input[i]; if (input_enc != TRUE_ANS[i]){ printf("Wrong answer!\n"); return 1; } } printf("Congratulations!\n"); return 0; }