Задача: Посылка. Можно ли коробку размером [latex]a \times b \times c[/latex] упаковать в посылку размером [latex]r \times s \times t[/latex] ? «Углом» укладывать нельзя.
Тесты:
a | b | c | r | s | t | result |
1 | 1 | 1 | 3 | 3 | 3 | Package is fitting to the box |
23 | 2 | 4 | 54 | 45 | 22 | Package is fitting to the box |
0 | 0 | 0 | 1 | 1 | 0 | Package cannot fit ! |
109 | 122 | 222 | 11 | 22 | 33 | Package cannot fit ! |
13 | 43 | 21 | 55 | 76 | 89 | Package is fitting to the box |
23 | 15 | 17 | 44 | 81 | 92 | Package is fitting to the box |
Исходный код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#include <stdio.h> #include <math.h> int main(void) { // Объявление переменных a,b,c,r,s,t типа float для хранения входных данных float a = 0; float b = 0; float c = 0; float r = 0; float s = 0; float t = 0; // Ввод пользователем значений переменных a, b, c, r, s, t с помощью scanf scanf("%f",&a); scanf("%f",&b); scanf("%f",&c); scanf("%f",&r); scanf("%f",&s); scanf("%f",&t); // Сравниваем рёбра пакета с каждым ребром коробки if ( ( a<r && b<s && c<t ) || ( a<r && c<s && b<t ) || ( b<r && a<s && c<t ) || ( b<r && c<s && a<t ) || ( c<r && a<s && b<t ) || ( c<r && b<s && a<t ) ) { printf("====== The package is fitting ======"); } else { printf("~~~~~~ The package cannot fit ! ~~~~~~ "); } // Завершение программы return 0; } |
Код программы на языке Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import java.util.*; import java.lang.*; import java.io.*; class BoxApp { public static Float scanFloat( Scanner in ) { return ( ( in.hasNextFloat() ) ? in.nextFloat() : null ); } public static void main( String[] args ) { // ќбъ¤вление переменных a,b,c,r,s,t типа float дл¤ хранени¤ входных данных float a = 0; float b = 0; float c = 0; float r = 0; float s = 0; float t = 0; // ¬вод пользователем значений переменных a, b, c, r, s, t с помощью scanf Scanner in = new Scanner(System.in); a = scanFloat( in ); b = scanFloat( in ); c = scanFloat( in ); r = scanFloat( in ); s = scanFloat( in ); t = scanFloat( in ); in.close(); // —равниваем рЄбра пакета с каждым ребром коробки if ( ( a<r && b<s && c<t ) || ( a<r && c<s && b<t ) || ( b<r && a<s && c<t ) || ( b<r && c<s && a<t ) || ( c<r && a<s && b<t ) || ( c<r && b<s && a<t ) ) { System.out.printf("====== The package is fitting ======"); } else { System.out.printf("~~~~~~ The package cannot fit ! ~~~~~~ "); } } } |
Ссылка http://ideone.com/cRnZc7
Программа состоит из следующих частей:
- Объявление переменных a,b,c,r,s,t типа float для хранения входных данных
- Ввод пользователем значений переменных a, b, c, r, s, t с помощью scanf
- Вывод исходных данных
- Сравниваем рёбра пакета с каждым ребром коробки
- Завершение программы
Программа сверяет размеры коробки ( package ) с размерами посылки ( box ). Если размеры коробки меньше, чем посылки, программа сообщает о возможности упаковки коробки в посылку. В противном случае выводиться сообщение о невозможности упаковки коробки данных размеров в посылку.
Ссылка на ideone.com : http://ideone.com/XYcV5W