предположим, что первое введённое число - максимальное. тогда в ans мы будем хранить 1, если первое число не меньше удвоенной суммы второго и третьего, и 0, если меньше.
проверим - если второе число больше первого, мы запомним, что максимальное число у нас второе и пересчитаем ответ: 1, если второе число не меньше удвоенной суммы первого и третьего, 0 иначе.
точно так же проверим третье число: если оно больше нашего максимального, обновим его и ответ.
после этого мы выведем "yes", если в ans хранится 1, "no" иначе.
код#include < bits/stdc++.h>
using namespace std;
int main() {
int a, b, c;
cin > > a > > b > > c;
int mx = a;
int ans = (a > = (b + c) * 2 ? 1 : 0);
if (b > mx) {
mx = b;
ans = (b > = (a + c) * 2 ? 1 : 0);
}
if (c > mx) {
mx = c;
ans = (c > = (a + b) * 2 ? 1 : 0);
}
cout < < (ans == 1 ? "yes" : "no") < < endl;
return 0;
}
другие варианты 1) int + тернарный оператор -> bool#include < bits/stdc++.h>
using namespace std;
int main() {
int a, b, c;
cin > > a > > b > > c;
int mx = a;
bool ans = (a > = (b + c) * 2);
if (b > mx) {
mx = b;
ans = (b > = (a + c) * 2);
}
if (c > mx) {
mx = c;
ans = (c > = (a + b) * 2);
}
cout < < (ans ? "yes" : "no") < < endl;
return 0;
}
2) string ans#include < bits/stdc++.h>
using namespace std;
int main() {
int a, b, c;
cin > > a > > b > > c;
int mx = a;
string ans = (a > = (b + c) * 2 ? "yes" : "no");
if (b > mx) {
mx = b;
ans = (b > = (a + c) * 2 ? "yes" : "no");
}
if (c > mx) {
mx = c;
ans = (c > = (a + b) * 2 ? "yes" : "no");
}
cout < < ans < < endl;
return 0;
}
begin
var n : = readinteger('n =');
if n < = 1 then 1.print
else
begin
var (s, i, f) : = (biginteger(1), 1, biginteger(1));
repeat
i += 1;
f *= i;
s += f
until i = n;
s.print
end
end.
примерn = 100
94269001683709979260859834124473539872070722613982672442938359305624678223479506023400294093599136466986609124347432647622826870038220556442336528920420940313
Поделитесь своими знаниями, ответьте на вопрос:
Исключи лишнее: бит, килобайт, байт, йоттабайт, миллибайт, пикобайт