除法表达式

原创 2015年07月10日 19:44:59

除法表达式

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

    给出一个这样的除法表达式:X1/X2/X3/···/Xk,其中Xi是正整数。除法表达式应当按照从左到右的顺序求和,例如表达式1/2/1/2的值为1/4。但是可以在表达式中嵌入括号以改变计算顺序,例如表达式(1/2)/(1/2)的值为1.


输入
首先输入一个N,表示有N组测试数据,
每组数据输入占一行,为一个除法表达式,
输入保证合法。
使表达式的值为整数。k<=10000,Xi<=100000000.
输出
输出YES或NO
样例输入
1
1/2/1/2
样例输出
YES

   除法中是否能整除问题,X1/X2/X3/..../Xn=X1*X2*X3.....*Xn/X2.求X2与其它数的最大公约数,若X2为1即能整除。
AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
int a[1000005];
int GCD(int a,int b)
{
	if(a<b)swap(a,b);
	return b==0?a:GCD(b,a%b);
}
int judge(int m)
{
	a[1]/=GCD(a[1],a[0]);
	for(int i=2;i<m;++i)
	{
		a[1]/=GCD(a[i],a[1]);
		 if(a[1]==1)
			return 1;
	}
	return 0;
}
int main()
{
	int n,m,i;
	char str[1000005];
	scanf("%d",&n);
	while(n--)
	{
		memset(a,0,sizeof(a));
		scanf("%s",&str);
		for (i=0,m=0;str[i]!='\0';++i)
		{
			if(str[i]>='0'&&str[i]<='9')
				a[m]=a[m]*10+str[i]-'0';
			else
				m++;
		}
		if(judge(m+1))
		{
			printf("YES\n");
		}
		else
		{
			printf("NO\n");
		}
	}
	return 0;
}


版权声明:本文为博主原创文章,转载必须声明出处,thank。

算法竞赛入门经典:第十章 数学概念与方法 10.1除法表达式

/* 数论初步: 除法表达式: 给出这样的除法表达式:X1/X2/X3/.../Xk,其中Xi是正整数。除法表达式应当从左到右的顺序求和,例如表达式1/2/1/2的值为1/4。但可以在表达式中嵌...
  • qingyuanluofeng
  • qingyuanluofeng
  • 2015年08月19日 09:49
  • 440

JSP 中EL表达式用法详解

EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构: ${sessionScope.user.sex} ...
  • m8396017
  • m8396017
  • 2016年09月05日 22:51
  • 15175

c&c++反汇编与逆向分析学习笔记(8)--除法表达式

除法运算对应的汇编指令分为有符号idiv和无符号div两种。除法指令的执行周期较长,效率也低,所以编译器想尽办法用其他运算指令代替除法指令。C++中的除法和数学中的除法不同。在C++中,除法运算不保留...
  • kyt511
  • kyt511
  • 2015年04月11日 19:50
  • 858

除法运算逆向分析

除法运算逆向分析除法运算逆向分析 相关数学公式 除数为2的幂 除数为负的2的幂 除数为非2的幂 除数为负的非2的幂由于除法指令的指令周期较长,效率低,所以编译器想尽办法用其他指令组合代替除法指令。所以...
  • devenlau
  • devenlau
  • 2017年01月31日 09:25
  • 393

关于关系代数中除法的理解以及如何用基本运算表示除法

关系代数中的基本运算包括并,差,笛卡尔积,选择,投影。这五种基本代数运算可以推导出交、连接(包括自然连接)、和除法。其中前两者比较容易推导,直接根据定义不难得出,而除法定义理解起来较为复杂,且同时牵涉...
  • buaa1406
  • buaa1406
  • 2016年09月21日 22:55
  • 2706

AngularJS之表达式

1、问题背景     表达式分为:(1)直接计算的加减乘除(2)利用变量实现的加减乘除(3)字符串表达式(4)对象表达式(5)数组表达式2、实现源码 AngularJS之表达式 ...
  • you23hai45
  • you23hai45
  • 2016年08月08日 19:24
  • 1059

1、后缀表达式,以及中缀转后缀算法的思考

所谓运算中的中缀表达式,就是形如a+b这样,运算符号在参与运算的两个量的中间。按照这个逻辑那么后缀表达式也就很好理解了:ab+。 后缀表达式又称逆波兰表达式,这个表达式有特别的用途,可以配合栈(sta...
  • heruozhi
  • heruozhi
  • 2015年04月02日 18:26
  • 708

关系代数运算之除法运算专题讲解

1.关系运算的分类   (1)基本运算操作:并、差、笛卡尔积、投影和选择。   (2)组合运算操作:交、联接、自然联接和除。   另外,还有几种扩充的关系代数操作:外联接(左外联接和右外联接)、...
  • u011175448
  • u011175448
  • 2013年09月17日 22:54
  • 985

EL表达式中的运算

EL算术运算 表达式语言支持的算术运算符和逻辑运算符非常多,所有在Java语言里支持的算术运算符,表达式语言都可以使用;甚至Java语言不支持的一些算术运算符和逻辑运算符,表达式语言也支持。 ...
  • hjl815
  • hjl815
  • 2017年05月03日 19:24
  • 1865

EL表达式中fn函数的使用

使用前在Jsp页面的首部加上以下代码: 下面是JSTL中自带的方法列表以及其描述 函数名 函数说明 使用举例 ...
  • dong281055686xin
  • dong281055686xin
  • 2016年08月15日 14:10
  • 606
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:除法表达式
举报原因:
原因补充:

(最多只允许输入30个字)