Uses crt; var a,b,c: integer; begin a: =3; c: =3; b: =0; while b< > 33 do begin a: =a+b; b: =b+c; end; writeln(a); readln end.
shhelina
24.02.2020
Пусть количество флешек равно соответственно a1, a2, a3, a4, причем эти количества уже отсортированы таким образом, что a1≥a2≥a3≥a4. рассмотрим худший случай. выбрали 3 комплекта флешек с максимальным их количеством. a1+a2+a3. после этого добавили одну флешку и получили 100 флешек, среди которых хотя бы одна из наименьшей группы. то есть a1+a2+a3=99 в худшем случае. значит, a4=113-99=14. теперь надо определить наименьшее количество флешек, чтобы гарантированно на руках было 3 вида. опять же рассмотрим худший случай. так выбрали флешки, что среди них все флешки первого вида, все флешки второго вида. но все равно одной флешки третьего вида не хватает. в худшем случае значение a1+a2 должно быть максимально возможным. казалось бы, есть условие a1+a2+a3=99. но не стоит забывать про то, что ранее были наложены ограничения на a1, a2, a3, a4: a1≥a2≥a3≥a4. в связи с добавленным позже определением a4=14, ограничение для a3 становится таким: a3≥14. в худшем случае, чтобы максимизировать a1+a2, следует выбрать a3=14. то есть a1+a2=99-14=85. следовательно, необходимо 85+1=86 флешек, чтобы быть уверенным, что хотя бы три флешки разных видов присутствуют.
Guru-tailor
24.02.2020
#include < iostream> #include < cmath> using namespace std; double a[3], s = 0; int main() { for(int i = 0 ; i < 3; i++) { cin > > a[i]; s += a[i]; } s /= 3; for(int i = 0; i < 3; i++) { if(fabs(a[i]) > fabs(s)) cout < < a[i] < < " "; } return 0; }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Составить программу вычисления суммы 3+6+9++33 на паскале