QM25P5A Editorial

PROBLEM LINK:

Practice
Contest

Setter/Tester/Editorialist: Chandan Boruah

DIFFICULTY:

EASY

PREREQUISITES:

Maths, Brute Force.

PROBLEM:

Given a number in decimal form, convert it to binary, reverse it and then print the decimal form of the new reversed binary number.

SOLUTION EXPLANATION:

Extract each number from the decimal by the number and modulo with 2. With every modulo divide the number by 2. The simple decimal to binary algorithm (Decimal to Binary Converter please scroll down in that link).
After that recreate the decimal number but(since reverse is asked) using that digits that was got from the end. Example: 1101, the decimal number can be found by 1 * 10^0+1 * 10^2+1 * 10^3. Please check the formula to convert binary to decimal (Binary to Decimal Converter please scroll down in that link). This can be done using a for loop and a math.power function.

SOLUTIONS:

Setter's Solution
using System;
class some
{
	public static void Main()
	{
		int nn=0;
		int n=int.Parse(Console.ReadLine());
		while(n>0)
		{
			nn=nn*10+n%2;
			n/=2;
		}
		char[]tt=(nn+"").ToCharArray();
		nn=0;
		for(int i=0;i<tt.Length;i++)
		{
			nn+=(int)Math.Pow(2,i)*(int.Parse(tt[i]+""));
		}
		Console.WriteLine(nn);
	}
}