Thursday, 27 July 2017

Lightoj 1105 - Fi Binary Number

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int a[50];
  4. bool b[48];
  5. int main()
  6. {
  7.     a[0] = 1;
  8.     a[1] = 1;
  9.     for(int i = 2; i <= 45; i++){
  10.         a[i] = a[i-1] + a[i-2];
  11.         //cout<<a[i]<<" ";
  12.     }
  13.     int cs , t;
  14.      cin>>t;
  15.      for ( cs = 1 ; cs <= t ; cs++ ){
  16.     int n, index = -1;
  17.     cin>>n;
  18.     for(int i = 45; i>=1; i--){
  19.         if(a[i]<=n){
  20.                 if(index == -1){
  21.                     index = i;
  22.                 }
  23.                 n = n - a[i];
  24.                 b[i] = true;
  25.         }
  26.     }
  27.     printf("Case %d: ",cs);
  28.     for(int i = index; i >=1; i--){
  29.         if(b[i]){cout<<"1";}
  30.         else cout<<"0";
  31.     }
  32.     cout<<endl;
  33.     memset(b, falsesizeof(b));
  34.      }
  35.     return 0;
  36. }

No comments:

Post a Comment

Most Featured Post

Lightoj 1159 - Batman

http://lightoj.com/volume_showproblem.php?problem=1159 problem analysis: First i thought of this as if s1, s2 and s3 are those three str...