bookmark_borderJAVA in JAVA

This photo I called it “Java in Java”.

The most interesting programming language name for me after “Brainf**K” programming language is Java!

In my childhood, the first interesting mobile I used was “LG L342i” which was released in 2005, first mobile I tried that has the ability of accessing internet but it wasn’t work with Egyptian networks operators,  I liked LG brand and I were impressed by this mobile functionalities and its games (GAMELOFT, Golf, UNO, Pool, and other few interesting puzzles games) there was a splash screen in each game that has a special Java logo intro and a wonderful loading animation which makes me interested about Java and what is this name refers to? Is Java a very big game that contains all other mobile games or is it a big mobile application?

I decided to go to internet coffee and instead of playing Command & Conquer, Max Payne, GTA and other games as usual.. I decided to search for Java, on that day I read for the first time about something called programming and knew more about Java history and the reason for naming Java with that name.. and I found that there is some real Island in another country called Java!

I wished that one day I would visit this Island and try 3 things there:
Try drinks, especially coffee.
Play Java games.
Search for Java books.

After about 14 years I managed to visit Java Island(Central and West), and tried the 3 things and remembered all my childhood memories.

Childhood dreams and wishes are not just dreams and wishes.
– Khaled Alam


The Java programming language project was initiated in June 1991. Java was originally designed for interactive television.

The language was initially called Oak after an oak tree that stood outside Gosling’s office. Later the project went by the name Green and was finally renamed Java, from Java coffee, the coffee from Indonesia.

bookmark_borderCount Leading Zeros in 25!^25!

(25!) = 15511210043330985984000000 => (6 zeros)

Detecting Pattern:
(25!) ^ 1 => (15511210…85984000000) => 6 zeros
(25!) ^ 2 => (24059763…48256000000000000) => 12 zeros
(25!) ^ 3 => (37319604…43904000000000000000000) => 18 zeros
(25!) ^ 4 => (57887222…41536000000000000000000000000) => 24 zeros
(25!) ^ 5 => (89790087…31424000000000000000000000000000000) => 30 zeros
and so on..

Leading Zeros in [ (25!) ^ (25!) ] = [Number of leading zeros in (25!)] * (25!)

[Number of leading zeros in (25!)] = 6 zeros
value of (25!) = 15511210043330985984000000

leading zeros in (25!)^(25!) = 6 * 15511210043330985984000000
= 93067260259985915904000000 zeros

bookmark_borderIBM October 2020 – Challenge (control-flow graph)

This month’s challenge is dedicated to the memory of Frances Allen, who passed away in August. Among her many accomplishments is the invention of the control-flow graph, in her 1970 paper “Control flow analysis

My solution

with step number:

10 A = a
20 B = b
30 JMP_ZERO B 90
40 AA = A
50 BB = B
60 A = B
70 B = AA % BB
80 JMP 30


without step number:

A = a
B = b
AA = A
BB = B
A = B
B = AA % BB
JMP 30

IBM Gadi submission result:

Thanks! This indeed computes the GCD, but the requirement on the number of paths is not fulfilled.

bookmark_borderWhat is curvature?

If you think that the curved monitor is simply made by bending the two sides of the screen inward, then you are mistaken. As mentioned earlier, the curved monitors have a bending angle. Not all curved monitors are created equal. If the curvature is not big enough, there won’t be any difference from using a regular flat monitor. But if the magnitude of bending gets too large, the image displayed will be deformed and distorted.

Curved monitors have different levels of curvature which are rated at values such as 1500R, 1800R, 3000R, or 4000R. For a better understanding of the nomenclatures values, the number refers to the curved monitor radius in millimeters and the R stands for radius (for example a 1500R monitor refers to a monitor with a radius of 1500 millimeters). The smaller the number, the greater the curvature.

So what is the optimal curvature, you may ask? Well, since the human eye has a range of about 1000R, a curvature rate that is closer to 1000R will be better. Until now, the latest curvature has reached 1500R, which is more in line with the human eye than the 1800R. For the most immersive gaming experience, we recommend a Native 1500R curved display.