Самый эффективный способ найти наибольшее из трех целых - PullRequest
11 голосов
/ 10 февраля 2010

Ниже мой псевдокод.

function highest(i, j, k)
{
  if(i > j && i > k)
  {
    return i;
  }
  else if (j > k)
  {
    return j;
  }
  else
  {
    return k;
  }
}

Я думаю, что это работает, но разве это самый эффективный способ в C ++?

Ответы [ 12 ]

0 голосов
/ 23 января 2018

Я думаю, что под «наиболее эффективным» вы говорите о производительности, стараясь не тратить впустую вычислительные ресурсы. Но вы можете иметь в виду написание меньшего количества строк кода или, возможно, читабельность вашего исходного кода. Ниже приведен пример, и вы можете оценить, найдете ли вы что-то полезное или предпочитаете другую версию из полученных вами ответов.

/* Java version, whose syntax is very similar to C++. Call this program "LargestOfThreeNumbers.java" */
class LargestOfThreeNumbers{
    public static void main(String args[]){
        int x, y, z, largest;
        x = 1;
        y = 2;
        z = 3;
        largest = x;
        if(y > x){
            largest = y;
            if(z > y){
                largest = z;
            }
        }else if(z > x){
            largest = z;
        }
        System.out.println("The largest number is: " + largest);
    }
}
0 голосов
/ 15 августа 2013
public int maximum(int a,int b,int c){
    int max = a;
    if(b>max)
        max = b;
    if(c>max)
        max = c;
    return max;
}
...