CF305B----用大数水过的模拟(纯属娱乐)

题目地址:http://codeforces.com/problemset/problem/305/B

题目意思:

就是给你一个p/q,然后再给你一个可化简的分式,问你是否相等

之前我有同学,用正着做的方法做出来了,

没有倒着做的原因是数字会太大,从而WA

今天在整理大数模板的时候,用大数模板水过了。HEHE

下面上JAVA代码:

import java.math.BigInteger;
import java.util.Scanner;


public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BigInteger p,q;
		BigInteger a[] = new BigInteger[100];
		
		Scanner cin = new Scanner(System.in);
		
		p=cin.nextBigInteger();
		q=cin.nextBigInteger();
		
		int n = cin.nextInt();
		for(int i=1;i<=n;i++)
		{
			a[i]=cin.nextBigInteger();
		}
		
		if(n==1)//这里要特判一下
		{
			BigInteger tmp = p.gcd(q);
			p=p.divide(tmp);
			q=q.divide(tmp);
			if(q.equals(BigInteger.ONE) && p.equals(a[1]) )
				System.out.println("YES");
			else
				System.out.println("NO");
			System.exit(0);
		}
		
		BigInteger x,y;
		x=BigInteger.ONE;
		y=a[n];
		for(int i=n-1;i>=2;i--)
		{
			x=a[i].multiply(y).add(x);
			BigInteger tmp = x;
			x=y;
			y=tmp;
		}
		if(n>=2)
		{
			x=a[1].multiply(y).add(x);
		}
		
		BigInteger tmp;
		tmp = p.gcd(q);
		p=p.divide(tmp);
		q=q.divide(tmp);
		
		tmp=x.gcd(y);
		x=x.divide(tmp);
		y=y.divide(tmp);
		
		//System.out.println(p);
		//System.out.println(q);
		//System.out.println(x);
		//System.out.println(y);
		if(x.equals(p) && y.equals(q))
			System.out.println("YES");
		else
			System.out.println("NO");
		
		System.exit(0);
	}

}


黑盒测试技术-场景法的应用: 场景法是一种黑盒测试技术,它基于用户使用系统的真实环境和需求,通过模拟实际场景来测试系统的各项功能和性能。下面是五个用例的应用场景和相关设计: 用例1:用户登录 用例规格描述: 用户需要通过登录界面登录系统,输入正确的用户名和密码才能成功登录。 界面原型设计: 登录界面包括输入框和登录按钮,如下图所示: ![login_prototype](https://user-images.githubusercontent.com/71202480/132204303-d3a7d8c4-4b23-42cd-9076-4f305b9e1c6c.png) 用例场景设计: 场景1:输入正确的用户名和密码,点击登录按钮,登录成功。 场景2:输入错误的用户名,点击登录按钮,提示“用户名不存在”。 场景3:输入正确的用户名但错误的密码,点击登录按钮,提示“密码错误”。 测试数据设计: 场景1:用户名:test,密码:123456 场景2:用户名:test1,密码:123456 场景3:用户名:test,密码:111111 用例2:添加商品 用例规格描述: 用户需要在商品管理界面添加新的商品信息,包括商品名称、价格、库存等信息。 界面原型设计: 商品管理界面包括添加商品按钮和表格,如下图所示: ![product_prototype](https://user-images.githubusercontent.com/71202480/132204342-ebc5aaf6-6ad6-4c2e-a43d-98b8e0a3d7e9.png) 用例场景设计: 场景1:输入正确的商品信息,点击添加按钮,商品添加成功。 场景2:商品名称为空,点击添加按钮,提示“请填写商品名称”。 场景3:商品价格为负数,点击添加按钮,提示“商品价格不合法”。 测试数据设计: 场景1:商品名称:可乐,价格:3.5,库存:100 场景2:商品名称:,价格:3.5,库存:100 场景3:商品名称:雪碧,价格:-3.5,库存:100 用例3:购物车结算 用例规格描述: 用户需要在购物车界面对已选择的商品进行结算操作,包括选择支付方式、填写收货地址等。 界面原型设计: 购物车界面包括商品列表、结算按钮和支付方式、收货地址等信息,如下图所示: ![cart_prototype](https://user-images.githubusercontent.com/71202480/132204364-24f15f3c-6b56-4c1e-8d01-fc7e1d7f5f90.png) 用例场景设计: 场景1:选择在线支付方式,填写正确的收货地址,点击结算按钮,订单提交成功。 场景2:选择货到付款方式,但收货地址为空,点击结算按钮,提示“请填写收货地址”。 场景3:选择在线支付方式,填写错误的收货地址,点击结算按钮,提示“收货地址不正确”。 测试数据设计: 场景1:支付方式:在线支付,收货地址:北京市海淀区中关村 场景2:支付方式:货到付款,收货地址: 场景3:支付方式:在线支付,收货地址:上海市浦东新区陆家嘴 用例4:搜索商品 用例规格描述: 用户需要在商品列表界面进行商品搜索操作,输入关键词后系统能够返回相关商品信息。 界面原型设计: 商品列表界面包括搜索框和商品列表,如下图所示: ![search_prototype](https://user-images.githubusercontent.com/71202480/132204383-4cc33f92-b1a5-4d87-8c50-5e7048d66cf8.png) 用例场景设计: 场景1:输入正确的商品关键词,点击搜索按钮,系统返回相关商品信息。 场景2:输入错误的商品关键词,点击搜索按钮,系统返回“无相关商品”。 测试数据设计: 场景1:商品关键词:手机 场景2:商品关键词:笔记本电脑 用例5:注册用户 用例规格描述: 用户需要在注册界面填写个人信息,包括用户名、密码、邮箱等,成功注册后可以登录系统。 界面原型设计: 注册界面包括输入框和注册按钮,如下图所示: ![register_prototype](https://user-images.githubusercontent.com/71202480/132204404-7e3aee36-5c7d-4f60-bf7f-6b0e7d9a3d51.png) 用例场景设计: 场景1:输入正确的个人信息,点击注册按钮,注册成功并跳转至登录界面。 场景2:用户名已存在,点击注册按钮,提示“用户名已存在”。 场景3:邮箱格式错误,点击注册按钮,提示“邮箱格式不正确”。 测试数据设计: 场景1:用户名:test1,密码:123456,邮箱:test1@qq.com 场景2:用户名:test,密码:123456,邮箱:test@qq.com 场景3:用户名:test2,密码:123456,邮箱:test2@qqcom
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值