PTA乙级 (1048 数字加密 (20分))
1048 数字加密 (20分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240
第一次提交:
错误原因:a的位数大于b时,b不足的位需要补0做运算!
第二次提交:
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <iostream> #include <cstring> #include <string> #include <cmath> #include <algorithm> #include <cstdio> using namespace std; int main() { int a[102]={0},b[102]={0}; int i=1,j=1,k=1; char chr1[102],chr2[102]; int len1,len2,len; cin>>chr1>>chr2; len1= strlen (chr1); len2= strlen (chr2); for (i=len1-1;i>=0;i--) { a[k]=chr1[i]- '0' ; k++; } for (i=len2-1;i>=0;i--) { b[j]=chr2[i]- '0' ; j++; } if (len1>len2) len=len1; else len=len2; for (i=1;i<=len;i++) { if (i%2==1) b[i]=(b[i]+a[i])%13; else { if (b[i]<a[i]) b[i]=b[i]-a[i]+10; else b[i]=b[i]-a[i]; } } for (i=len;i>=1;i--) { if (b[i]==10) cout<< "J" ; else if (b[i]==11) cout<< "Q" ; else if (b[i]==12) cout<< "K" ; else cout<<b[i]; } return 0; } |
天晴了,起飞吧
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步