0
点赞
收藏
分享

微信扫一扫

非常简单的高数题

灵魂跑者 2022-03-26 阅读 42
c语言c++c#

(正确与否待提交)

#include <bits/stdc++.h>

using namespace std;

const long long int MA = 1000000007;

int main(){
    int t;
    scanf("%d",&t);
    while(t--){
        long long int n;
        scanf("%lld",&n);
        long long int sum = 0, k = 1, i, p;
        if(n==1){
            printf("0\n");
            continue;
        }
        p = 2;
        for(i = 2; i <= n; ++i){
            sum += k;
            if(i%p==0){
                k++;
                p *= 2;
            }

            sum %= MA;
        }

        printf("%lld\n",sum);
    }


}

举报

相关推荐

0 条评论