작성일 :

문제 링크

7581번 - Cuboids

설명

직육면체의 부피에 대한 공식인 부피 = 길이 * 너비 * 높이 식에 대하여,

부피, 길이, 너비, 높이 중 하나가 누락된 데이터가 제공되었을 때,

누락된 데이터를 찾아낸 후, 모든 데이터를 출력하는 문제입니다.

누락된 데이터마다 직육면체의 부피 공식을 적절히 변형하여 계산 후 출력합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
namespace Solution {
  class Program {
    static void Main(string[] args) {

      while (true) {
        var input = Console.ReadLine()!.Split(' ');
        var len = int.Parse(input[0]);
        var width = int.Parse(input[1]);
        var height = int.Parse(input[2]);
        var volume = int.Parse(input[3]);

        if (len == 0 && width == 0 && height == 0 && volume == 0) break ;

        if (len == 0) len = volume / (width * height);
        else if (width == 0) width = volume / (len * height);
        else if (height == 0) height = volume / (len * width);
        else volume = len * width * height;

        Console.WriteLine($"{len} {width} {height} {volume}");
      }

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int len, width, height, volume;
  while (cin >> len >> width >> height >> volume) {
    if (len == 0 && width == 0 && height == 0 && volume == 0) break ;

    if (len == 0) len = volume / (width * height);
    else if (width == 0) width = volume / (len * height);
    else if (height == 0) height = volume / (len * width);
    else volume = len * width * height;

    cout << len << " " << width << " " << height << " " << volume << "\n";
  }

  return 0;
}