• 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
    思路:
      数字截断以后会出现0,提交是“浮点错误”。
    #include<iostream>
    #include<vector>
    #include<algorithm>
    #include<map>
    #include<set>
    #include<cmath>
    #include<climits>
    #include<sstream>
    using namespace std;
    
    
    
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            string temp;
            cin>>temp;
            int len=temp.size()/2;
            long long int a=stoi(temp.substr(0,len));
            long long int b=stoi(temp.substr(len));
            //cout<<a<<" "<<b<<endl;
            long long int x=stoi(temp);
            long long int c=x/a;
            if(a!=0&&b!=0&&x%(a*b)==0)
            {
              cout<<"Yes"<<endl;
            }
                
            else
                cout<<"No"<<endl;
        }
        return 0;
    }
     
  • 相关阅读:
    返回一个一维整数数组中最大子数组的和02
    软工作业04四则运算网页版
    所有子数组的和的最大值
    学习进度表(第五,六周)
    学习进度表(第四周)
    四则运算2的单元测试
    《构建之法》阅读笔记02
    软工作业03
    单元测试练习
    学习进度表(第三周)
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/10335902.html
Copyright © 2020-2023  润新知