Дано натуральное число, требуетф найти сумму первой половины цифр числа. Если число содержит нечетное количество цифр, требуется найти сумму цифр всего числа.
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу. 2. Немного изменим ваш код и получим искомое значение x Искомое число х = 16293
var x, y, a, b, k: integer;
begin k:=10000; repeat x:=k; a := 0; b := 0; y := 1; while x > 0 do begin if (x mod 10) mod 2 = 0 then a := a * 10 + x mod 10 else begin y := y * 10; b := b * 10 + x mod 10 end; x := x div 10 end; a := a * y + b; k := k + 1; until a = 26391; writeln(a:8, k-1:8); end.
#include <iostream>
#include <math.h>
using namespace std;
int x,y,sumSquared,sumOfSquares;
int main() {
cout <<"Введите x" << endl;
cin >> x ;
cout << "Введите y"<< endl;
cin >> y;
sumSquared = pow(x*y,2);
cout << "Сумма квадратов:";
cout << sumSquared ;
cout << "\n";
sumOfSquares = pow(x,2)+pow(y,2);
cout << "Квадрат суммы:";
cout << sumOfSquares ;
cout << "\n";
if (sumSquared > sumOfSquares){
cout << "Сумма квалратов больше чем квадрат суммы";
cout << "\n";
cout << "ответ:";
cout << sumSquared << endl;
}
else {
cout << "Квадрат суммы больше чем сумма квадратов";
cout << "\n";
cout << "ответ:";
cout << sumOfSquares << endl;
}
}
Объяснение:
Квадрат суммы: (x + y)^2
Сумма квадратов: x^2 + y^2
Ну вроде бы правильно сделал ))
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293
var
x, y, a, b, k: integer;
begin
k:=10000;
repeat
x:=k;
a := 0; b := 0; y := 1;
while x > 0 do
begin
if (x mod 10) mod 2 = 0
then
a := a * 10 + x mod 10
else begin
y := y * 10;
b := b * 10 + x mod 10
end;
x := x div 10
end;
a := a * y + b;
k := k + 1;
until a = 26391;
writeln(a:8, k-1:8);
end.