#include<iostream> #include<cmath> using namespace std; long long int f[1001] = {0}; long long int do_calc(int n) {     if (n == 0)         {         f[0] = 1;         return f[0];     }     else if (n == 1)      {         f[1] = 1;         return f[1];     }     else     {         if (f[n] != 0)         {             f[n] %= (long long int)pow(10,9)+3;             return f[n];         }         int item = (long long int)(log(n) / log(2)) + 1;            for (int k = 0; k < item; k++)         {             f[n] += do_calc(n - (1 << k));         }         f[n] %= (long long int)pow(10,9)+3;            return f[n];     } } int main() {     int M;     cin >> M;     while (M > 0)     {         int n;         cin >> n;         cout << do_calc(n) << endl;         M--;     }     return 0; }
点赞 评论

相关推荐

01-14 12:34
门头沟学院 C++
牛马人的牛马人生:太暖心了啊 配环境是真烦
点赞 评论 收藏
分享
01-03 10:04
已编辑
北京大学 算法工程师
北科勒布朗詹姆斯:无脑腾,现在户口有鸟用,你又不高考,研究所都是嘴上一套背后一套的,招人的时候说是37w955,真去了可由不得你
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务