PAT 1086 就不告诉你 15分 有坑点 知识点:拆位

104 阅读1分钟

1086 就不告诉你 - PAT (Basic Level) Practice (中文) (pintia.cn)

第一种方法 对末尾有0的情况做标记

image.png 原理:

image.png

第二种方法 逆置之后用stoi()去掉前导0

计算 A 和 B 的乘积后,将结果转换为字符串并进行了反转操作。反转后,末尾的零会被移到字符串的开头,然后使用 stoi 函数将字符串转换为整数。由于 stoi 函数会自动忽略开头的零,所以输出的结果会去掉末尾的零。

image.png

二刷

刚开始写的这样:

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int A,B;cin>>A>>B;
      string str=to_string(A*B);

    for(int i=str.size()-1;i>=0;i--)
    {
        cout<<str[i];
    }

    return 0;
}

image.png

其实就是有前导0的情况,需要把前导0全部去掉就可以通过了: image.png