2 条题解
-
0
题目比较复杂(-v-but还是被朕解出来了吧!jie'jie'jie),这道题要用到高精和冥的循环,然后就好算了~~~
#include<bits/stdc++.h> using namespace std; #define ll long long ll fpw(ll b,ll n,ll k){ int ans = 1; b = b%k; while (n>0){ if(n%2==1)ans=(ans*b)%k; n/=2; b=(b*b)%k; } return ans; } signed main(){ ll b,c; string p; cin >>b; int a[1001]={},res[1001]; for(int i= 1;i<=500;i++)a[i]=fpw(2011,i,10000); for(int i =1;i<=b;i++){ int a1[1001]={},rem=0; cin >>p; int lena = p.size(); for (int i = 0; i < lena; i++)a1[i] = p[i] - 48; for (int i = 0; i < lena; i++) { res[i] = (rem * 10 + a1[i]) / 500; rem = (rem * 10 + a1[i]) % 500; } //哦cout << rem<<" "; if(rem>0)cout << a[rem]<<endl; else cout << a[5]<<endl; } //for(int i= 99;i<=500;i++)cout<<a[i]<<"."; }
-
0
以下代码绝对不对,AC不了
#include<bits/stdc++.h> using namespace std; #define ll long long ll fpw(ll b,ll p,ll k){ int ans = 1; b = b%k; while (p>0){ if(p%2==1)ans=(ans*b)%k; p/=2; b=(b*b)%k; } return ans; } signed main(){ ll b,c,rem; string p; cin >>b; int a[1001]={},a1[1001]={},res[1001]; for(int i= 1;i<=837;i++)a[i]=fpw(2011,i,10000); for(int i =1;i<=b;i++){ cin >>p; int lena = p.size(); for (int i = 0; i < lena; i++)a1[i] = p[i] - '0'; for (int i = 0; i < lena; i++) { res[i] = (rem * 10 + a1[i]) / 837; rem = (rem * 10 + a1[i]) % 837; } //哦cout << rem<<" "; if(rem!=0)cout << a[rem]<<endl; else cout << a[837]<<endl; } }
不过居然被我弄成随机数代码了。。。啊哈,你们什么都没看见............
- 1
信息
- ID
- 224
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 29
- 已通过
- 2
- 上传者