B. Special Numbers(1100)

#include<bits/stdc++.h>
long long MOD=1e9+7;
using namespace std;
long long T,k,n,m,sum;
int rec(int a,int b){
    if(b==0){
        return 1;
    }
    else {
        long long k=a;
        for(int i=1;i<b;i++){
            k=(k*a)%MOD;
        }
        return k;
    }
}
int main(){
    scanf("%lld",&T);
    while(T--){
        scanf("%lld %lld",&n,&m);
        sum=0;
        for(int j=0;m>0;j++){
            k=m%2;
            m/=2;
            if(k==1){
                sum+=rec(n,j);
                sum=sum%MOD;
            }        
        }
        printf("%lld\n",sum);
    }
    return 0;
}

 

posted @ 2022-01-26 15:52  happycrazy  阅读(47)  评论(0)    收藏  举报