Var s,i:integer;
begin
write('s = ');
readln(s);
for i:=100 to 999 do
if (i div 100 + i div 10 mod 10 + i mod 10 < s)
then write(i,' ');
end.
Пример:
<span>s = 5
100 101 102 103 110 111 112 120 121 130 200 201 202 210 211 220 300 301 310 400 </span>
#include <iostream>
#include<ctime>
#include <stdlib.h>
#include <stdio.h>
int main() {
<span> srand(time(NULL));
</span> int a[20];
int maxi,minim,res,i;
i=0;
maxi=-2000;
minim=2000;
printf("Array:");
for(i=0;i<20;i++){
a[i]=rand()%50-25;
printf("%d ",a[i]);
if(maxi<a[i]){
maxi=a[i];}
if(minim>a[i]){
minim=a[i];}
}
minim=abs(minim);
maxi=abs(maxi);
res=maxi-minim;
printf("\n%d",res);
getchar();
getchar();
}<span>
</span>
Пусть размеры прямоугольного отверстия а - ширина, h - высота
Сначала среди размеров X, Y, Z - ищем самое большое: RazMax.
Если RazMax <a, (пусть это будет Z), то
среди Х и Y подбираем такое, чтобы оно меньше или равно h
Eсли RazMax > a, то среди X и Y ищем НАИБОЛЬШЕЕ.
Если это НАИБОЛЬШЕЕ меньше ширины, то проверяем, чтобы среди оставшихся измерений хотя бы одно было меньше или равно h.
Если все это не годится, то кирпич не пролезет в это отверстие...
1 цикл. 1*1=1
2 цикл. 1*2=2
3цикл.2*3= 6
ответ. 6