Сделал расчёт и суммы цифр в обоих числах, и сумму цифр первого плюс второе число. Ненужное удалите уж.
Подсчёт суммы цифр сделал независимым от длины числа (хоть сколькозначные вводите, вплоть до максимального целого в Кумире).
алг
нач
цел а,б,н,ас=0,бс=0
лит ат,бт
вывод 'введите целое трёхзначное число: '
ввод а
вывод 'введите целое четырёхзначное число: '
ввод б
ат := цел_в_лит(а)
нц для н от 1 до длин(ат)
ас := ас + Цел(ат[н],0)
кц
вывод 'сумма цифр трёхзначного= ', ас, нс
бт := цел_в_лит(б)
нц для н от 1 до длин(бт)
бс := бс + Цел(бт[н],0)
кц
вывод 'сумма цифр четырёхзначного= ', бс, нс
вывод 'сумма цифр трёхзначного плюс четырёхзначное число= ', ас+б
кон
#include <iostream>
using namespace std;
double y(double a, double b, double c, double x) {
if (c == x && b + c + x != 0)
return ((a + b) * (a + c) * (a + x)) / (b + c + x);
if (c != x && 1 + b != 0 && 1 + a != 0 && a / (1 + b) + b / (1 + a) >= 0)
return sqrt(a / (1 + b) + b / (1 + a));
return -1e9 - 7;
}
signed main() {
double a, b, c, x, ans;
cin >> a >> b >> c >> x;
ans = y(a, b, c, x);
ans == -1e9 - 7 ? cout << "No solution" : cout << ans;
}