Guess the number: 1-line c # & qbasic learning algorithm

A few months ago, reading a foreign forum and seeing the competition: to create a guess the number program, in short, I overtook the foreigners by the 1st by creating a 1-line guess number algorithm in 2 languages


1 IF Russia = 0 THEN Russia = 2222: RANDOMIZE TIMER: num = INT(RND * 100) + 1: GOTO 1 ELSE IF Russia <> 0 THEN INPUT n: IF n < num THEN PRINT «MORE»: GOTO 1 ELSE IF n > num THEN PRINT «less»: GOTO 1 ELSE IF n = num THEN PRINT «da»: END ELSE GOTO 1 'DANILIN Russia 9-9-2019 guessnum.bas

image
using System; using System.Text;namespace GURU { class Program { static void Main(string[] args) { Random rand = new Random(); int Russia = 0; int n = 0; int num = 0; dav: if(Russia == 0) {Russia = 2222; num = rand.Next(100)+1; goto dav; }else if (Russia != 0) {Console.Write("? "); n = Convert.ToInt32(Console.ReadLine());} if (n < num) { Console.WriteLine(«MORE»); goto dav;}else if (n > num) { Console.WriteLine(«less»); goto dav;}else if (n == num) {Console.Write(«da»); Console.ReadKey(); }else goto dav;}}}// DANILIN Russia 9-9-2019 guessnum.cs

I place the originals and I hope readers will compose their programs strictly 1-lower case in other programming languages


Milliard.cs 10^9


https://ideone.com/IUi0ga


       //milliard.cs
    using System;
    using System.Text;
    namespace DAV 
    { class Program
     { static void Main(string[] args) 
     { int h2 = 1000000000;//or 500
    int h1 = 0; int t = 0;
    Random rand = new Random();
    int c = rand.Next(h2); //computer
    int h = rand.Next(h2); //human or h2/2; 

    dav: 
    t++;
    Console.WriteLine(); Console.Write(t);
    Console.Write("  "); Console.Write(c);
    Console.Write("  "); Console.Write(h);
    Console.Write("  ");

    if(h < c)
     { Console.Write("MORE");
     int a=h; h=(h+h2)/2; h1=a; goto dav;
     }
    else if(h > c)
     { Console.Write("less");
     int a=h; h=(h1+h)/2; h2=a; goto dav;
     }
    Console.Write("win by "); Console.Write(t);
    Console.Write(" steps"); Console.ReadKey();
    }}}

qbasic bas & c# cs:


1-

:
:

: 1- qbasic






:

1 18122453 320244676 less
2 18122453 160122338 less
3 18122453 80061169 less
4 18122453 40030584 less
5 18122453 20015292 less
6 18122453 10007646 MORE
7 18122453 15011469 MORE
8 18122453 17513380 MORE
9 18122453 18764336 less
10 18122453 18138858 less
11 18122453 17826119 MORE
12 18122453 17982488 MORE
13 18122453 18060673 MORE
14 18122453 18099765 MORE
15 18122453 18119311 MORE
16 18122453 18129084 less
17 18122453 18124197 less
18 18122453 18121754 MORE
19 18122453 18122975 less
20 18122453 18122364 MORE
21 18122453 18122669 less
22 18122453 18122516 less
23 18122453 18122440 MORE
24 18122453 18122478 less
25 18122453 18122459 less
26 18122453 18122449 MORE


27 18122453 18122454 less
28 18122453 18122451 MORE
29 18122453 18122452 MORE
30 18122453 18122453 win by 30 steps


We check the number of steps in Excel Excel:


= log (10 ^ 9; 2)
= 29.89
= 30


Q.E.D. The Nobel Prize will not receive itself.




Main result: qbasic programs can be translated into c #


http://rosettacode.org/wiki/Guess_the_number


All Articles