Salt And Pepper
//Здравейте. Опитвам се от число [0 – 18,446,744,073,709,551,615] да извадя бинарния вариант... До "long" е ОК с този код.
//long n = long.Parse(Console.ReadLine());
//string binary = Convert.ToString(n, 2).PadLeft(32, '0');
//Но "ulong" не работи.
Разбрах, че нямам достъчно знания ( побитовите операции не са ми ясни явно :( ) Но освен, тях си написах нещата. Надявам се да ми обясните тези няколко реда които ми обягват, както и защо в решеието което имам за 100/100 ( не моето за жалост ) се използва "if"
и резолтата е 100/100 в моето решение исползвам "switch" и резолтата е 90/100 :(
Това са редовте които ми обягваха и не разбирам на 100% :
if (((dishes >> j) & 1) == 1)
{
ulong mask = ~((ulong)1 << j);
dishes = dishes & mask;
}
Ето го решението за 100/100: http://pastebin.com/EKXMjrYb
А това е моето 90/100: http://pastebin.com/6hW7RXc5
Благодаря предварително.