Дистанционная подготовка: Не проходит последний тест
Не проходит последний тест
от Zhan Kurbanbayev - Среда 26 Ноябрь 2014, 05:30
112182. Двоичный код
  #include <iostream>
#include <cmath>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <cstdio>
using namespace std;
int main()

    long long int n;
    string s;
    cin>>n;
    if (n>=0){
    while (n){
    if (n%2==0) s+="0";
      else s+="1";

          n=n/2;
          }
          reverse (s.begin(),s.end());
                  cout<<s;}
          if (n<0)   
          {
    while (n){
    if (n%2==0) s+="0";
      else s+="1";

          n=n/2;
          }
          reverse (s.begin(),s.end());
                  cout<<"-"<<s;}   
    system("pause");
    return 0;
}
Re: Не проходит последний тест
от Peter Cherepanov - Среда 26 Ноябрь 2014, 09:35
  Не забывайте про особые случаи.
Re: Не проходит последний тест
от Zhan Kurbanbayev - Среда 26 Ноябрь 2014, 19:12
  Я вроде варианты подумал Но если н==0 ни чего не надо выводить ?
Re: Не проходит последний тест
от Peter Cherepanov - Среда 26 Ноябрь 2014, 19:59
  С какой стати? Ноль и в Африке всякой системе счислеия -- ноль.
Re: Не проходит последний тест
от Zhan Kurbanbayev - Четверг 27 Ноябрь 2014, 04:30
  Я пробовал написать if (n==0) {cout
Re: Не проходит последний тест
от Peter Cherepanov - Четверг 27 Ноябрь 2014, 22:29
  Никаких хитростей тут нет. Ноль выводится как 0. Отрицательные числа -- в прямом коде. На Питоне эта задача решается в одну строчку.
Re: Не проходит последний тест
от Zhan Kurbanbayev - Пятница 5 Декабрь 2014, 14:50
  Извини если честно я вообще не понимаю (