Консультации

Не проходит последний тест

Не проходит последний тест

от Zhan Kurbanbayev -
Number of replies: 6
#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;
}
In reply to Zhan Kurbanbayev

Re: Не проходит последний тест

от Peter Cherepanov -
In reply to Peter Cherepanov

Re: Не проходит последний тест

от Zhan Kurbanbayev -
Я вроде варианты подумал Но если н==0 ни чего не надо выводить ?
In reply to Zhan Kurbanbayev

Re: Не проходит последний тест

от Peter Cherepanov -
С какой стати? Ноль и в Африке всякой системе счислеия -- ноль.
In reply to Peter Cherepanov

Re: Не проходит последний тест

от Zhan Kurbanbayev -
Я пробовал написать if (n==0) {cout<<0;return 0;}
2 бала дает всего и Мне кажется что я начал надоедоать )
In reply to Zhan Kurbanbayev

Re: Не проходит последний тест

от Peter Cherepanov -
Никаких хитростей тут нет. Ноль выводится как 0. Отрицательные числа -- в прямом коде. На Питоне эта задача решается в одну строчку.