除法表达式

描述

给出如下除法表达式E:
X1/X2/X3/..../Xk


其中Xi是正整数并且Xi<=2 000 000 000(1<=i<=k,k<=10 000)。除法表达式应当按照从左到右的顺序求结果,例如

表达式1/2/1/2的值是1/4。现在让你可以在表达E中嵌入括号以改变计算顺序,例如表达式(1/2)/(1/2)的值是1。现在给你

一个除法表达式E,要求告诉是否能够通过加括号(或者不加)得到表达式E' ,E'的值为整数。

将以后出现的数字乘以第一个分子,%第一个分母,看得到的是不是0

输入

输入数据包括多组数据,每组数据占一行,给出的是题目描述的表达式E,E中不含空格。

输出

每个测试数据占一行如果能找到题目中描述的E' 则输出"YES"(不含引号),否则输出"NO" (不含引号)。

样例输入

1/2/1/2
2/3

样例输出

YES
NO

 

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    __int64 n,m=0,t;
    char c;
    while(cin>>n)
    {
        c=getchar();
        if(c!='/'){cout<<"YES"<<endl;continue;}//这里要判断当只有一个整数的时候直接输出
        cin>>t;                                 //t代表第一个分母
        while(c=getchar()=='/')     
        {
            n=n%t;  //分子%第一个分母
            cin>>m;
            n*=m;    
        }
        if(n%t==0)cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值