0082-莱布尼兹三角形
题目
莱布尼兹三角形 |
难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
如下图所示的三角形,请编程输出图中排在第 n 行从左边数第 m 个位置上的数。 |
输入
|
一行包括两个正整数,分别为 n 和 m,两数间用一个空格分隔。
|
输出
|
一个如样例所示格式的分数。
|
输入示例
|
6 2
|
输出示例
|
1/30
|
其他说明
|
数据范围:1<= m <= n <= 100.
|
分析
这道题也是前100道题中为数不多的需要用到算法解决的题了。所用算法为:递推。
递推大概就类似于找规律,通过对数组下标的利用最终在对应位置找到结果。
所以,咱们要先找到规律。
经过观察,我们发现:下一行的第1、2个数相加就等于上一行的第1个数,下一行的第2、3个数相加就等于上一行的第2个数……以此类推,第x行的第a、b个数相加就等于第x-1行的第a个数。同时左右两边则为1/1,1/2,1/3……即分母依次增加1。
发现规律后,我们就可以根据它写代码了。
同时有一点特别要注意:位置越靠下的数的分母越大,int会存不下。
代码
#include<bits/stdc++.h>
using namespace std;
long long a[105][105],n,m;//越往下分子越大,避免炸掉。
int main()
{a[1][1]=1;scanf("%lld%lld",&n,&m);for(long long i=1;i<=n;i++)//本题可以只计算分母,避免精度不够。{for(long long j=1;j<=i;j++){if(j==1) a[i][j]=i;//左右两边为1/1,1/2,1/3……else a[i][j]=a[i-1][j-1]*a[i][j-1]/(a[i][j-1]-a[i-1][j-1]);//第x行的第a、b个数相加就等于第x-1行的第a个数。}}printf("1/%lld",a[n][m]);//输出第n行m列。return 0;
}
转载于:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/10000238.html
0082-莱布尼兹三角形相关推荐
- 莱布尼兹三角形(C++)
[问题描述] 如下图所示的三角形,请编程输出图中排在第 n 行从左边数第 m 个位置上的数. [代码展示] # include<iostream> # include<cstdio& ...
- 莱布尼兹三角形(OJ0082)
本题适合学过数组.循环的同学学习. 相信大家可以很轻松找出规律,就是a[i][j]=a[i+1][j]+a[i+1][j+1](a数组存储第i行j列的分数).但是数组中不方便存储整个分数的值,用dou ...
- 从数学到计算机 从莱布尼兹到冯诺依曼 从数理逻辑到算法分析
https://blog.csdn.net/lanonjj/article/details/51464922 序:从2010年进入大学接触到计算机开始,便不断对其本源好奇,接触得愈久就愈是觉得这门学科 ...
- 牛顿-莱布尼兹公式的几何意义-微分和积分的几何关系
公司办公室上班,工作累了可以跟同事聊聊天,下楼抽根烟,或者仅仅就是出去溜达一圈.然而soho办公却不可能.屋内抽烟是被禁止的,下楼抽烟显得古怪又麻烦- 买了本书,<什么是数学>,就是这本: ...
- 【数学】用C语言实现函数的定积分—— 把 “定积分定义计算出的值” 和 “牛顿-莱布尼兹公式计算出的值” 两者进行误差比较
因为考研数学看到定积分的定义以及"牛顿-莱布尼兹公式" 突然心血来潮,想用C语言把它们实现出来并对比. 1.用 "定积分定义" 计算得出数值 以及 " ...
- 莱布尼兹普遍演算的定义注释--逻辑与算法之十八
莱布尼兹普遍演算的定义注释–逻辑与算法之十八 证明完了24个命题,在片断20的最后部分,莱布尼兹对于他的演算中提到的定义和公理给出了一大段注释.首先注释的是片断20给出的定义3,4,5,6. 这非常自 ...
- 线性代数 --- 三种计算矩阵的行列式的方法之二 莱布尼兹展开法(个人笔记扫描版)
三种计算矩阵的行列式的方法之二 莱布尼兹展开法 在我的个人的线性代数学习中,我分别记录计算矩阵行列式的三种方法,1,LU分解法,2,拉普拉斯展开法,这里我介绍一下第三种方法,莱布尼兹展开法. 行列 ...
- 莱布尼兹的二进制和布尔的全无假定 布尔逻辑之四
莱布尼兹的二进制和布尔的全无假定 布尔逻辑之四 一.莱布尼兹的二进制 智慧这东西真的很神奇,现在人们都已经熟知的数字二进制,史载澳洲和非洲的原始部落,就有这种只用两个数字的计数.这些地方的野蛮人, ...
- 莱布尼兹懂得超实数吗?
莱布尼兹懂得超实数吗? 古希腊阿基米德教导人们,世界上不存在无穷小量,后人称其为"阿基米德原理". 到了十七世纪,牛顿与莱布尼兹抛弃阿基米德原理,利用无穷小概念创立: 微积分学,后 ...
- 莱布尼兹是微积分奠基人吗?
莱布尼兹是微积分奠基人吗? 本文附件是"History of calculus"中的一段文字,极其清楚地表明:莱布尼兹是微积分奠基人.当之无愧.但是,这个断语与我国现行高等数学教学 ...
最新文章
- IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
- Microbiome:在人工肠道中建立动态线性模型指导设计和分析微生物组研究
- Python之父考虑重构Python解释器
- 智能车竞赛技术报告 | 智能车视觉 - 宜宾学院- 平头哥1组
- 腾讯首个软硬件全自研的机器狗 Max 来了!
- Windows环境变量
- 【C语言基础】C语言异常捕获机制 - assert
- js获取a标签的value值_js逆向 | 某住房网跳转链接生成逻辑分析
- Linux安装中遇到如下错误提示:"cannot find appropriate C++ compiler on this system"
- python输入变量输出常量_Python输入input、输出print
- python如何求列表中的众数_算法(LeetCode)六种方法求数组中的绝对众数
- 观察者模式之:从三国混战看创业者精神。
- C# 调用C/C++动态链接库,结构体中的char*类型
- OpenCV图像处理基础操作(4)
- java影院座位订票代码_基于jsp的影院订票-JavaEE实现影院订票 - java项目源码
- viper4android 机顶盒,利用VIPer53封装上系统实现经济型机顶盒供电
- GD32F103RBT6开发笔记
- 优化计算机组策略,windows系统优化--使你的计算机飞起来
- 什么是视频内容推荐引擎?
- php js sdk 签名算法,签名算法 · PAYJS API 开发文档