计算题

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

一个简单的计算,你需要计算f(m,n),其定义如下:

当m=1时,f(m,n)=n;

当n=1时,f(m,n)=m;

当m>1,n>1时,f(m,n)= f(m-1,n)+ f(m,n-1)

Input

第一行包含一个整数T(1<=T<=100),表示下面的数据组数。

以下T行,其中每组数据有两个整数m,n(1<=m,n<=2000),中间用空格隔开。

Output

对每组输入数据,你需要计算出f(m,n),并输出。每个结果占一行。

Sample Input

2

1 1

2 3

Sample Output

1

7

m,n数据有点大,直接用类可能会超时,但是后台数据有点弱,所以可以过。(其实输入100,100就会超时)

import java.util.*;

public class Main {

	public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int a,b,t;
t = cin.nextInt();
while(t-->0)
{
a = cin.nextInt();
b = cin.nextInt();
System.out.println(f(a,b));
}
cin.close();
}
public static int f(int m,int n)
{
if(m==1)
return n;
if(n==1)
return m;
return f(m-1,n) + f(m,n-1);
}
}

所以用数组存储的方式来做。

结果发现了一个特别坑的问题,计算结果哪怕开long也会爆……

iimport java.util.*;

public class Main {

	public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int a,b,t,i,j;
long f[][] = new long [2050][2050];
for(j=0;j<=2000;j++)
f[1][j] = j;
for(i=0;i<=2000;i++)
f[i][1] = i;
for(i=2;i<=2000;i++)
for(j=2;j<=2000;j++)
f[i][j] = f[i-1][j] + f[i][j-1];
t = cin.nextInt();
while(t-->0)
{
a = cin.nextInt();
b = cin.nextInt();
System.out.println(f[a][b]);
}
cin.close();
}
}

Java练习 SDUT-1149_计算题的更多相关文章

  1. 将100道计算题输出至txt文件,再读取文件至控制台,在控制台中输入答案并评判对错

    我在课堂上基本完成了输出100道题和创建文档,但是因为对输入输出流不熟悉,所以并没有实现将输出的计算题导出到文档里,在课下我又请教了宿舍的大佬,基本完成如下: 源代码: import java.io. ...

  2. MathExam小学一二年级计算题生成器V1.0

    MathExam小学一二年级计算题生成器v1.0 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning ...

  3. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  4. PMP--可能会涉及到的计算题

    一.进度管理里的历时三点估算历时的三点估算可能会出现在进度管理的计算题里.以下公式,大家要记住:说一下历时的三点估算中的几个值:1.最有可能的历时估算:Tm2.最乐观的历时估算: To3.最悲观的历时 ...

  5. 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行

    [TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...

  6. 牛客网 Java 工程师能力评估 20 题 - 详解

    牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...

  7. CTF-练习平台-WEB之 计算题

    四.计算题 打开连接 输入后发现只能输入一个数字,在火狐浏览器中按F12,打开查看器 ,如图所示修改最大长度 输入答案后验证,当当当~~flag出现

  8. MathExamV2.0四则混合运算计算题生成器

    MathExamV2.0四则混合运算计算题生成器----211606360 丁培晖 211606343 杨宇潇 一.预估与实际 PSP2.1 Personal Software Process Sta ...

  9. Java基础算法集50题

    最近因为要准备实习,还有一个蓝桥杯的编程比赛,所以准备加强一下算法这块,然后百度了一下java基础算法,看到的都是那50套题,那就花了差不多三个晚自习的时间吧,大体看了一遍,做了其中的27道题,有一些 ...

随机推荐

  1. Zigbee安全入门(一)—— 技术介绍和安全策略

    么是Zigbee? Zigbee说白了就是类似wifi.蓝牙的一种交换数据的方式,学术点说就是低成本.用于低功耗嵌入式设备(无线电系统),用以促进机器与机器之间高效且有效通信(通常相距10-100米) ...

  2. 链接的属性href=“?” ?该些什么及优缺点

    <a onclick="{jscode}">是很常见的一种js运用方式,使用时经常会加一个href=“###”即<a onclick="{jscode} ...

  3. Lua 调用C模块DLL失败

    Lua中使用 local a = require "xxx" 的方式加载自己用C实现的DLL,DLL中有导出函数 luaopen_xxx . 调试过程中发现,luaopen_xxx ...

  4. Cron定时任务应用到Thinkphp – 贤生博客

    Cron定时任务应用到Thinkphp 安装crontab: yum install crontabs 关于cron的一些命令: /sbin/service crond start //启动服务 /s ...

  5. 解决WSL上运行plantUML中文乱码问题

    生成UML图命令: java -jar plantuml.jar -charset UTF-8 my.txt 1. 保证my.txt 使用uft-8编码 2. wsl中安装中文字体: 如: sudo ...

  6. Windows 调用OpenProcess失败

    OpenProcess 打开|获得进程句柄 函数原型: HANDLE OpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle,DWORD dwPro ...

  7. JS---案例:开机动画

    案例:开机动画 由上下两部分组成,先下面的高变为0 ,再最大的div宽为0,形成一个缩小到没有的动画效果 点击的X是在背景图上的,在上面设置了一个空的span用于注册点击事件 <!DOCTYPE ...

  8. SpringBoot 使用 @Value 从 YAML文件读取属性

    在 YAML中有如下配置 paypal: mode:live 在类中,通过 @Value属性读取 @Value("${paypal.mode}") private String m ...

  9. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS)

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS) 学习目标 回顾复数,以及 ...

  10. iOS将image转90,180,270度的方法

    http://blog.sina.com.cn/s/blog_6602ffbc0101ckx3.html 这里要分享的是将image旋转,而不是将imageView旋转,原理就是使用quartz2D来 ...