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

检查给定的整数a、b、c、d是否成比例

检查给定的整数a、b、c、d是否成比例原文:https://

检查给定的整数 a、b、c、d 是否成比例

原文:https://www . geesforgeks . org/check-给定整数-a-b-c-d 是否成比例/

给定四个整数 abcd 。任务是检查是否有可能将它们配对,使它们成比例。我们可以打乱数字的顺序。
举例:

输入: arr[] = {1,2,4,2}
输出:
1 / 2 = 2 / 4
输入: arr[] = {1,2,5,2}
输出:

方法:如果四个数字 a、b、c、d 成比例,那么 a:b = c:d 。解决方案是将四个数字排序,将前两个数字和后两个数字配对,并检查它们的比率。这是因为,为了使它们成比例,平均值的乘积必须等于极值的乘积。所以, a * d 必须等于 c * b
以下是上述方法的实施:

C++


// C++ implementation of the approach
#include
using namespace std;
// Function that returns true if the
// given four integers are in proportion
bool inProportion(int arr[])
{
    // Array will consist of
    // only four integers
    int n = 4;
    // Sort the array
    sort(arr, arr + n);
    // Find the product of extremes and means
    long extremes = (long)arr[0] * (long)arr[3];
    long means = (long)arr[1] * (long)arr[2];
    // If the products are equal
    if (extremes == means)
        return true;
    return false;
}
// Driver code
int main()
{
    int arr[] = { 1, 2, 4, 2 };
    if (inProportion(arr))
        cout << "Yes";
    else
        cout << "No";
    return 0;
}


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


// Java implementation of the approach
import java.util.*;
class GFG
{
// Function that returns true if the
// given four integers are in proportion
static boolean inProportion(int []arr)
{
    // Array will consist of
    // only four integers
    int n = 4;
    // Sort the array
    Arrays.sort(arr);
    // Find the product of extremes and means
    long extremes = (long)arr[0] * (long)arr[3];
    long means = (long)arr[1] * (long)arr[2];
    // If the products are equal
    if (extremes == means)
        return true;
    return false;
}
// Driver code
public static void main(String args[])
{
    int arr[] = { 1, 2, 4, 2 };
    if (inProportion(arr))
        System.out.println("Yes");
    else
        System.out.println("No");
}
}
// This code is contributed by Rajput-Ji


Python 3


# Python3 implementation of the approach
# Function that returns true if the
# given four integers are in proportion
def inProportion(arr) :
    # Array will consist of
    # only four integers
    n = 4;
    # Sort the array
    arr.sort()
    # Find the product of extremes and means
    extremes = arr[0] * arr[3];
    means = arr[1] * arr[2];
    # If the products are equal
    if (extremes == means) :
        return True;
    return False;
# Driver code
if __name__ == "__main__" :
    arr = [ 1, 2, 4, 2 ];
    if (inProportion(arr)) :
        print("Yes");
    else :
        print("No");
# This code is contributed by AnkitRai01


C


// C# implementation of the approach
using System;
class GFG
{
// Function that returns true if the
// given four integers are in proportion
static bool inProportion(int []arr)
{
    // Array will consist of
    // only four integers
    int n = 4;
    // Sort the array
    Array.Sort(arr);
    // Find the product of extremes and means
    long extremes = (long)arr[0] * (long)arr[3];
    long means = (long)arr[1] * (long)arr[2];
    // If the products are equal
    if (extremes == means)
        return true;
    return false;
}
// Driver code
public static void Main(String []args)
{
    int []arr = { 1, 2, 4, 2 };
    if (inProportion(arr))
        Console.WriteLine("Yes");
    else
        Console.WriteLine("No");
}
}
// This code is contributed by Princi Singh


java 描述语言



Output: 

Yes

时间复杂度: O(1)


推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
author-avatar
骆树真次_902
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有