热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

莱布尼茨调和三角形

莱布尼茨调和三角形原文:https://www.geeksfor

莱布尼茨调和三角形

原文:https://www.geeksforgeeks.org/leibniz-harmonic-triangle/

莱布尼茨调和三角形 是单位分数的三角形排列,其中最外面的对角线由行号的倒数组成,每个内部单元格是对角线上方和左侧的单元格减去左侧的单元格。用代数的方法来说, L(r,1) = 1/r ,其中 r 是从 1 开始的行数,c 是数字,不超过 r 和 L(r,c)= L(r–1,c–1)–L(r,c–1)。

Leibniz harmonic triangle

与帕斯卡三角形
的关系帕斯卡三角形中的每个条目是上一行中两个条目的总和,而莱布尼茨三角形中的每个条目是下一行中两个条目的总和。例如,在第 5 行中,条目(1/30)是第 6 行中两个(1/60)的总和。
就像帕斯卡三角形可以用二项式系数计算一样,莱布尼茨也可以:
L(r, c)=\frac{1}{r*^{r-1}\textrm{C}_(_c-_1_)}
Properties
如果取第 n 行的分母并相加,那么结果将等于 n.2 n-1 。例如,对于第三行,我们有 3 + 6 + 3 = 12 = 3 × 22。
给定正整数 n 。任务是打印高度为 n 的莱布尼茨调和三角形

示例:

Input : n = 4
Output :
1
1/2 1/2
1/3 1/6 1/3
1/4 1/12 1/12 1/4
Input : n = 3
Output :
1
1/2 1/2
1/3 1/6 1/3

下面是基于上述与帕斯卡三角形的关系,打印高度为 n 的莱布尼茨调和三角形的实现。

C++

// CPP Program to print Leibniz Harmonic Triangle
#include
using namespace std;
// Print Leibniz Harmonic Triangle
void LeibnizHarmonicTriangle(int n)
{
    int C[n + 1][n + 1];
    // Calculate value of Binomial Coefficient in
    // bottom up manner
    for (int i = 0; i <= n; i++) {
        for (int j = 0; j <= min(i, n); j++) {
            // Base Cases
            if (j == 0 || j == i)
                C[i][j] = 1;
            // Calculate value using previously
            // stored values
            else
                C[i][j] = C[i - 1][j - 1] + C[i - 1][j];
        }
    }
    // printing Leibniz Harmonic Triangle
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= i; j++)
            cout <<"1/" <        cout <    }
}
// Driven Program
int main()
{
    int n = 4;
    LeibnizHarmonicTriangle(n);
    return 0;
}

Java 语言(一种计算机语言,尤用于创建网站)

// Java Program to print
// Leibniz Harmonic Triangle
import java.io.*;
import java.math.*;
class GFG {
    // Print Leibniz Harmonic Triangle
    static void LeibnizHarmonicTriangle(int n)
    {
        int C[][] = new int[n + 1][n + 1];
        // Calculate value of Binomial
        // Coefficient in bottom up manner
        for (int i = 0; i <= n; i++) {
            for (int j = 0; j <= Math.min(i, n);
                                          j++) {
                // Base Cases
                if (j == 0 || j == i)
                    C[i][j] = 1;
                // Calculate value using
                // previously stored values
                else
                    C[i][j] = C[i - 1][j - 1] +
                              C[i - 1][j];
            }
        }
        // printing Leibniz Harmonic Triangle
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++)
                System.out.print("1/" + i * C[i - 1][j - 1]
                                          + " ");
            System.out.println();
        }
    }
    // Driven Program
    public static void main(String args[])
    {
        int n = 4;
        LeibnizHarmonicTriangle(n);
    }
}
// This code is contributed by Nikita Tiwari

Python 3

# Python3 Program to print
# Leibniz Harmonic Triangle
# Print Leibniz Harmonic
# Triangle
def LeibnizHarmonicTriangle(n):
    C = [[0 for x in range(n + 1)]
            for y in range(n + 1)];
    # Calculate value of Binomial
    # Coefficient in bottom up manner
    for i in range(0, n + 1):
        for j in range(0, min(i, n) + 1):
            # Base Cases
            if (j == 0 or j == i):
                C[i][j] = 1;
            # Calculate value using
            # previously stored values
            else:
                C[i][j] = (C[i - 1][j - 1] +
                           C[i - 1][j]);
    # printing Leibniz
    # Harmonic Triangle
    for i in range(1, n + 1):
        for j in range(1, i + 1):
            print("1/", end = "");
            print(i * C[i - 1][j - 1],
                           end = " ");
        print();
# Driver Code
LeibnizHarmonicTriangle(4);
# This code is contributed
# by mits.

C

// C# Program to print Leibniz Harmonic Triangle
using System;
class GFG {
    // Print Leibniz Harmonic Triangle
    static void LeibnizHarmonicTriangle(int n)
    {
        int [,]C = new int[n + 1,n + 1];
        // Calculate value of Binomial
        // Coefficient in bottom up manner
        for (int i = 0; i <= n; i++) {
            for (int j = 0; j <= Math.Min(i, n);
                                        j++) {
                // Base Cases
                if (j == 0 || j == i)
                    C[i,j] = 1;
                // Calculate value using
                // previously stored values
                else
                    C[i,j] = C[i - 1,j - 1] +
                            C[i - 1,j];
            }
        }
        // printing Leibniz Harmonic Triangle
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++)
                Console.Write("1/" + i * C[i - 1,j - 1]
                                        + " ");
        Console.WriteLine();
        }
    }
    // Driven Program
    public static void Main()
    {
        int n = 4;
        LeibnizHarmonicTriangle(n);
    }
}
// This code is contributed by vt_m.

服务器端编程语言(Professional Hypertext Preprocessor 的缩写)

// PHP Program to print
// Leibniz Harmonic Triangle
// Print Leibniz Harmonic Triangle
function LeibnizHarmonicTriangle($n)
{
    // Calculate value of
    // Binomial Coefficient in
    // bottom up manner
    for ($i = 0; $i <= $n; $i++)
    {
        for ($j = 0; $j <= min($i, $n); $j++)
        {
            // Base Cases
            if ($j == 0 || $j == $i)
                $C[$i][$j] = 1;
            // Calculate value
            // using previously
            // stored values
            else
                $C[$i][$j] = $C[$i - 1][$j - 1] +
                                 $C[$i - 1][$j];
        }
    }
    // printing Leibniz
    // Harmonic Triangle
    for ($i = 1; $i <= $n; $i++)
    {
        for ($j = 1; $j <= $i; $j++)
            echo "1/", $i * $C[$i - 1][$j - 1], " ";
        echo "\n";
    }
}
    // Driver Code
    $n = 4;
    LeibnizHarmonicTriangle($n);
// This code is contributed by aj_36
?>

java 描述语言


输出:

1/1
1/2 1/2
1/3 1/6 1/3
1/4 1/12 1/12 1/4

推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文详细介绍了PHP中与URL处理相关的三个函数:http_build_query、parse_str和查询字符串的解析。通过示例和语法说明,讲解了这些函数的使用方法和作用,帮助读者更好地理解和应用。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
author-avatar
-林之涵_396
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有