zoukankan      html  css  js  c++  java
  • PAT Advanced 1132 Cut Integer (20分)

    Cutting an integer means to cut a K digits lone integer Z into two integers of (K/2) digits long integers A and B. For example, after cutting Z = 167334, we have A = 167 and B = 334. It is interesting to see that Z can be devided by the product of A and B, as 167334 / (167 × 334) = 3. Given an integer Z, you are supposed to test if it is such an integer.

    Input Specification:

    Each input file contains one test case. For each case, the first line gives a positive integer N (≤ 20). Then N lines follow, each gives an integer Z (10 ≤ Z <). It is guaranteed that the number of digits of Z is an even number.

    Output Specification:

    For each case, print a single line Yes if it is such a number, or No if not.

    Sample Input:

    3
    167334
    2333
    12345678
    
     

    Sample Output:

    Yes
    No
    No

    这道题题意是前一半乘后一半,看看最终数能不能被原数字整除。

    我们仅需要进行用substr进行分解就可以。

    如果出现浮点错误,就是表示除以了0,我们要考虑后半部分不为0的情况

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        int N;
        string tmp;
        cin >> N;
        while(N--) {
            cin >> tmp;
            int num = stoi(tmp);
            int a = stoi(tmp.substr(0, tmp.size()/2));
            int b = stoi(tmp.substr(tmp.size()/2));
            if(a * b != 0 && num % (a * b) == 0) cout << "Yes" << endl;
            else cout << "No" << endl;
        }
        return 0;
    }
  • 相关阅读:
    windows ntstatus.h 头文件
    Android Q 后台启动 Activity
    windows 删除文件夹所有文件夹及文件代码
    Android 加壳App Demo
    Android App 签名保护demo
    RXAndroidBle 记录网址
    c++ windows 获取系统时间
    js 代码保存
    day33 ansible
    day31 综合实时同步服务
  • 原文地址:https://www.cnblogs.com/littlepage/p/12236338.html
Copyright © 2011-2022 走看看