Record of 2020 JetBrains Question Round 1

In the v2ex forum, I saw someone mention that JetBrains launched a challenge on Twitter and I’m very interested in it.

The following content records the problem-solving process in the past few days. There are three rounds. The difficulty is not high and it is very interesting.

Challenge

Question 1 Hex Begins

48 61 76 65 20 79 6f 75 20 73 65 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 74 68 65 20 4a 65 74 42 72 61 69 6e 73 20 77 65 62 73 69 74 65 3f

Observing the characteristics of the characters, we will find that they are composed of 0-9 and a-e, so we can try to convert ASCII from hexadecimal, and we will get the following prompt.

Have you seen the source code of the JetBrains website?

Question 2 Source Code and Find Product

Open the official website of JetBrains, right-click and click Inspect to see the following prompt

There are two key pieces of information:

  1. There is one that looks like a joke on our Product page
  2. Good luck! == Jrrg#oxfn$

The second message is temporarily useless, we will use it later.

Let’s open the Product list and it’s easy to find a product called “JK”.

Click Learn more ,and we will see the hint.

Question 3 Prime Numbers

To know how many prime numbers are in the range of 500 to 5000, we can write a small program to do the calculations.

Take Kotlin as an example.

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
class PrimaryNum {
companion object {
@JvmStatic
fun main(args: Array<String>) {
var count = 0
for (num in 500 until 5000) {
val result = checkIsPrime(num)
if (result) count++
}
println(count)
}

fun checkIsPrime(num: Int): Boolean {
if (num % 2 == 0) {
return false
}
val divideNum = if (num % 2 == 0) {
num / 2
} else {
(num + 1) / 2
}

for (x in 2 until divideNum) {
if (x % 2 == 0) {
continue
}
if (num % x == 0) {
return false
}
}
return true
}
}
}

Because the data is very small, the brute force operation also produced results instantly. The answer is 574.

Question 4 Find Hint from Image

Opening https://jb.gg/574 will redirect you to the following page
https://www.jetbrains.com/help/pycharm/getting-help.html#

(This picture is too big and it took a long time to load.

Returning to the Product list page, we will find that the product in the picture is YouTrack.

MPS-31816 looks a lot like a serial number, we clickLearn more and find Bug and issue tracker.

Search for MPS-31816 to find hints for the next question.

Question 5 Caesar

Qlfh$#Li#|rx#duh#uhdglqj#wklv#|rx#pxvw#kdyh#zrunhg#rxw#krz#wr#ghfu|sw#lw1#Wklv#lv#rxu#lvvxh#wudfnhu#ghvljqhg#iru#djloh#whdpv1#Lw#lv#iuhh#iru#xs#wr#6#xvhuv#lq#Forxg#dqg#iru#43#xvhuv#lq#Vwdqgdorqh/#vr#li#|rx#zdqw#wr#jlyh#lw#d#jr#lq#|rxu#whdp#wkhq#zh#wrwdoo|#uhfrpphqg#lw1#|rx#kdyh#ilqlvkhg#wkh#iluvw#Txhvw/#qrz#lw“v#wlph#wr#uhghhp#|rxu#iluvw#sul}h1#Wkh#frgh#iru#wkh#iluvw#txhvw#lv#‟WkhGulyhWrGhyhors†1#Jr#wr#wkh#Txhvw#Sdjh#dqg#xvh#wkh#frgh#wr#fodlp#|rxu#sul}h1#kwwsv=22zzz1mhweudlqv1frp2surpr2txhvw2

This ciphertext has several characteristics:

  1. The first letter is capitalized. (Maybe a sentence)
  2. The # frequently appears to be used as a separator. (Maybe simple encryption with the same number of digits)
  3. The last part is different from the previous one. (kwwsv=22zzz1mhweudlqv1frp2surpr2txhvw2 look like a URL)

It is easy to think that you can try a simple Caesar cipher first, traversing 25 kinds of results, you can get the following content

Nice$#If#|ou#are#reading#this#|ou#must#have#worked#out#how#to#decr|pt#it1#This#is#our#issue#tracker#designed#for#agile#teams1#It#is#free#for#up#to#6#users#in#Cloud#and#for#43#users#in#Standalone/#so#if#|ou#want#to#give#it#a#go#in#|our#team#then#we#totall|#recommend#it1#|ou#have#finished#the#first#Quest/#now#it“s#time#to#redeem#|our#first#pri}e1#The#code#for#the#first#quest#is#‟TheDriveToDevelop†1#Go#to#the#Quest#Page#and#use#the#code#to#claim#|our#pri}e1#https=22www1jetbrains1com2promo2quest2

Btw, the previous tip was not used, but it also suggested Caesar cipher

Good luck! == Jrrg#oxfn$

Result

I received the mail about JetBrains Quest.

Congratulations intrepid JetBrains quester.
You have shown great initiative, cunning, and valor conquering the obstacles put in your path. But this is merely the beginning of your adventure. For first, we would like to present you with your prize:
Claim your 3-months free All Products pack subscription