hdu 4485 B-Casting

来源:互联网 发布:银龙裁决淘宝 编辑:程序博客网 时间:2024/05/22 03:18

求b进制数模b-1的值。。。

b进制(xn.。。。x3x2x1x0)的值可以写成 xn*b^n+x(n-1)*b^(n-1).....

(xn*b^n)%(b-1)=(xn*((b-1)+1)^n)%(b-1)=xn*(c(n,0)*(b-1)^0+c(n,1)*(b-1)^1+....c(n,n)*(b-1)^n)%(b-1)=xn%(b-1)

故等同于 (x1+x2+x3+...xn)%(b-1)

注意数的长度为10000000.。。

#include<iostream>#include<string.h>using namespace std;char s[10000005];int main(){int n,l,num,b,t,i;cin>>t;while(t--){cin>>num>>b>>s;l=strlen(s);n=0;for(i=0;i<l;i++)n=(n+s[i]-'0')%(b-1);cout<<num<<" "<<n%(b-1)<<endl;}return 0;}


 

 

原创粉丝点击