PAT 甲级 刷题日记|A 1132 Cut Integer (20 分)

思路

这道题是将K位数切分为两个k/2位数字,需要考虑到特殊情况, 如3500这样的数,防止浮点错误。

代码

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

int main() {
    int n;
    cin>>n;
    for (int i = 0; i < n; i++) {
        string num;
        cin>>num;
        int len = num.size() / 2;
        string n1 = num.substr(0, len);
        string n2 = num.substr(len);
        int r = stoi(num);
        int r1 = stoi(n1);
        int r2 = stoi(n2);
        if (r2 != 0 && r % (r1 * r2) == 0) cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }
} 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容