1023 Have Fun with Numbers (20 分) 一般 / 知识点: 高精度乘法
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1023 Have Fun with Numbers (20 分) 一般 / 知识点: 高精度乘法相关的知识,希望对你有一定的参考价值。
https://pintia.cn/problem-sets/994805342720868352/problems/994805478658260992
#include<bits/stdc++.h>
using namespace std;
string s;
vector<int>A,C;
vector<int> mul(vector<int> A,int b)
{
vector<int>C;
int t=0;
for(int i=0;i<A.size()||t;i++)
{
if(i<A.size()) t+=A[i]*b;
C.push_back(t%10);
t/=10;
}
while(C.size()>1&&C.back()==0) C.pop_back();
return C;
}
int main(void)
{
cin>>s;
for(int i=s.size()-1;i>=0;i--) A.push_back(s[i]-'0');
C=mul(A,2);
int cnt1[10]={0},cnt2[10]={0};
for(int i=0;i<A.size();i++) cnt1[A[i]]++;
for(int i=0;i<C.size();i++) cnt2[C[i]]++;
bool flag=true;
for(int i=0;i<=9;i++) if(cnt1[i]!=cnt2[i]) flag=false;
if(flag) puts("Yes");
else puts("No");
for(int i=C.size()-1;i>=0;i--) cout<<C[i];
return 0;
}
以上是关于1023 Have Fun with Numbers (20 分) 一般 / 知识点: 高精度乘法的主要内容,如果未能解决你的问题,请参考以下文章
PAT 1023 Have Fun with Numbers
PAT 甲级 1023 Have Fun with Numbers