zoukankan      html  css  js  c++  java
  • #C++初学记录(A==B?##高精度)

    Problem Description
    Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".

    Input
    each test case contains two numbers A and B.

    Output
    for each case, if A is equal to B, you should print "YES", or print "NO".

    Sample Input
    1 2
    2 2
    3 3
    4 3

    Sample Output
    NO
    YES
    YES
    NO

    正确代码

    #include<iostream>
    #include<cstring>
    #include<string>
    using namespace std;
    int main(){
        char a[100000],b[100000];
        while(cin>>a>>b){
        int Y_a=0,Y_b=0;
        for(int i=0;i<strlen(a);i++)
            if(a[i]=='.'){
                Y_a=1;
                break;
            }
        for(int i=0;i<strlen(b);i++)
            if(b[i]=='.'){
                Y_b=1;
                break;
            }
        if(Y_a){
            for(int i=strlen(a)-1;i>=0;i--){
                if(a[i]=='0'){
                    a[i]=0;
                }
                else if(a[i]=='.'){
                    a[i]=0;
                    break;
               }
                else break;
            }
        }
    //    if(Y_a) {
    //        cout<<"!!!"<<a<<' '<<a[1]<<endl;
    //    }    if(Y_b){
            for(int i=strlen(b)-1;i>=0;i--)
                if(b[i]=='0'){
                    b[i]=0;
                }
                else if(b[i]=='.'){
                    b[i]=0;
                    break;
                }
                else break;
                strcmp(a,b)?puts("NO"):puts("YES");
        }
        }
    
    
    

    题意理解
    起初做这道题的时候以为这是一个签到题,直到wrong了五次发现这存在着潜在的问题,既是浮点型如0.111000和数据极大的问题没有解决,因此应该进行判断是否带有小数点并且去掉小数点后多余的0。
    错误以及解决方法
    当看到这个题的第一眼以为是一个很简单的签到题,所以进行了一下程序的编写

    事实上这道题目并没有想象中的那么简单,还有浮点型和越界问题没有解决,当意识到这个问题之后整个题目就显得非常简单明了了,但是还是会犯一些小错误,比如以下代码

    导致这个代码wrong的原因是因为没有初始化,往往这种小的错误最不容易令人察觉,使用全局变量的同时应该考虑的是在进行运行循环的时候上一次的赋值会不会导致下一次循环的错误结果。经过对flog的初始化后,成功AC了题目。

  • 相关阅读:
    cpu capacity、task_util、cpu_util是如何计算的?
    QTI EAS学习之find_energy_efficient_cpu
    Linux内核进程调度overview(1)
    Ondemand和Interactive gonernor工作逻辑简述
    利用init进程监控底层节点的方法架构
    Sched_Boost小结
    SchedTune
    Cpusets学习
    搭建SpringCloud微服务框架:三、读取Nacos的配置信息
    搭建SpringCloud微服务框架:一、结构和各个组件
  • 原文地址:https://www.cnblogs.com/xiaofengqaq/p/10929980.html
Copyright © 2011-2022 走看看