zoukankan      html  css  js  c++  java
  • PAT 甲级 1132 Cut Integer

    https://pintia.cn/problem-sets/994805342720868352/problems/994805347145859072

    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

    代码:
    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 1e5 + 10;
    char s[maxn];
    
    void itoa(int x) {
        if(x == 0) {
            s[0] = '0';
            s[1] = 0;
            return ;
        }
        stack<int> st;
        while(x) {
            st.push(x % 10);
            x = x / 10;
        }
        int sz = 0;
        while(!st.empty()) {
            s[sz++] = (char)(st.top() + '0');
            s[sz] = 0;
            st.pop();
        }
    }
    
    
    int main() {
        int T;
        scanf("%d", &T);
        while(T --) {
            int n;
            int num1 = 0, num2 = 0;
            scanf("%d", &n);
            itoa(n);
            //printf("%s
    ", s);
            int len = strlen(s);
            for(int i = 0; i < len / 2; i ++)
                num1 = (s[i] - '0') + num1 * 10;
            for(int i = len / 2; i < len; i ++)
                num2 = (s[i] - '0') + num2 * 10;
    
            if(num1 * num2 == 0)
                printf("No
    ");
            else {
                if(n % (num1 * num2) == 0)
                    printf("Yes
    ");
                else
                    printf("No
    ");
            }
            //printf("%d %d", num1, num2);
        }
        return 0;
    }
    

      

  • 相关阅读:
    Elasticsearch入门教程
    Elasticsearch环境安装配置
    Elasticsearch教程
    linux下elasticsearch 安装、配置及示例
    Elasticsearch集群部署
    elasticsearch-hadoop使用
    Oracle监控的关键指标
    oracle分区表的使用和查询
    nginx访问控制用户认证两种方式
    nginx创建默认虚拟主机
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/9420583.html
Copyright © 2011-2022 走看看