More actions
imported>trailblaze No edit summary |
imported>trailblaze No edit summary |
||
| Line 1: | Line 1: | ||
#include<iostream> | |||
#include<iostream> | int cnt = 1; | ||
int cnt = 1; | int main(void) | ||
int main(void) | { | ||
{ | int n; | ||
int ans1 = 0, ans2 = 0, sum = 0; | |||
scanf("%d", &n); | |||
while(1){ | |||
if(n <= cnt)break; | |||
cnt = cnt * 2; | |||
} | |||
ans1 = cnt; | |||
ans2 = -1; | |||
while(cnt > 0 && sum != n){ | |||
if(sum + cnt <= n)sum += cnt; | |||
cnt = cnt /2; | |||
ans2++; | |||
} | |||
printf("%d %d", ans1, ans2); | |||
} | |||
} | |||
Latest revision as of 10:04, 9 August 2012
#include<iostream>
int cnt = 1;
int main(void)
{
int n;
int ans1 = 0, ans2 = 0, sum = 0;
scanf("%d", &n);
while(1){
if(n <= cnt)break;
cnt = cnt * 2;
}
ans1 = cnt;
ans2 = -1;
while(cnt > 0 && sum != n){
if(sum + cnt <= n)sum += cnt;
cnt = cnt /2;
ans2++;
}
printf("%d %d", ans1, ans2);
}