#15853: 解題報告


kennywang (kennywang)

學校 : 臺北市立金華國中
編號 : 81159
來源 : [111.243.70.189]
最後登入時間 :
2023-11-24 23:12:50
d619. 奇摩知識 | From: [118.160.84.240] | 發表日期 : 2018-11-03 21:22

c++:

 

#include<iostream>
#include<math.h>
using namespace std;

int f(int a, int b){
if( b == 0 )
return 1;
if( b >= 1 )
return a * f(a,b-1);
}

int main(){
long long int a,b,c;
while(cin >> a){
b=0;
for(int i=1;i<log2(a+0.1)+1;i++){
b+=a/f(2,i)*f(2,i-1);
if(a%f(2,i)-f(2,i-1)+1 <= f(2,i-1) && 0 <= a%f(2,i)-f(2,i-1)+1){
b+=a%f(2,i)-f(2,i-1)+1;
}
}
cout << b%1000000000 << endl;
}
return 0;
}

 
ZeroJudge Forum