Codeforces Round #834 (Div. 3) D. Make It Round

£神魔★判官ぃ 2024-03-31 13:51 188阅读 0赞

Problem - D - Codeforces

1c21641e1301413ea5db4b38f928ab5a.png

Code:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. const int mxn=1e3+10,mod=998244353;
  5. int n,m,cnt1=0,cnt2=0;
  6. void solve(){
  7. cnt1=0,cnt2=0;
  8. cin>>n>>m;
  9. int t=n;
  10. while(n%2==0){
  11. cnt1++;
  12. n/=2;
  13. }
  14. while(n%5==0){
  15. cnt2++;
  16. n/=5;
  17. }
  18. int k=1;
  19. while(cnt1<cnt2&&k*2<=m) k*=2,cnt1++;
  20. while(cnt2<cnt1&&k*5<=m) k*=5,cnt2++;
  21. while(k*10<=m) k*=10;
  22. int h=m/k;
  23. k*=h;
  24. cout<<t*k<<'\n';
  25. }
  26. signed main(){
  27. ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
  28. int T=1;
  29. cin>>T;
  30. while(T--)solve();
  31. return 0;
  32. }

发表评论

表情:
评论列表 (有 0 条评论,188人围观)

还没有评论,来说两句吧...

相关阅读