Написать рекурсивную функцию подсчета суммы цифр натурального числа и с ее использованием определить в каком из двух заданных натуральных чисел сумма цифр больше. ( в pascal abc)
Function NumSum(n:integer):integer; var d:integer; begin d:=n mod 10; if d=n then NumSum:=n else NumSum:=d+NumSum(n div 10) end;
var a,b,d:integer; begin Write('Введите два числа: '); Read(a,b); d:=NumSum(a)-NumSum(b); if d>0 then Writeln('Сумма цифр в первом числе больше') else if d<0 then Writeln('Сумма цифр во втором числе больше') else Writeln('Сумма цифр в обоих числах одинакова') end.
Хоспаде, чему вас там учат? #include <iostream> int main() { double a = 5.0, b; int c, d = 5; std::cin >> b >> d; a = a + b - 2; d = ++c - a + d; a *= c--; //Не знаю как это предполагалось записывать в одну строчку, поэтому юзаем чит. a /= 10 + 0 * (c /= 2) + 0 * (--b) + 0 * (d *= c + b + a); return 0; } Должно работать. Если не работает строчку перед return меняем на: a /= 10 || c /= 2 || --b || d *= c + b + a; Да, оно ничего не выводит. Ты не написал что оно должно выводить. P.S. Если у вас не C++, а C меняешь std::cin >> b >> d; на scanf("%f", &a); и scanf("%f", &d); а вместо #include <iostream> пишешь #include <stdio.h>
Program name;//Имя программы uses crt;//Запуск программы в консольном режиме НЕОБЯЗАТЕЛЬНО var a : Integer; b : Integer; i : Integer; c : Integer; BEGIN //Начало программы write('Введите 1 число: '); readln(a);//Ввод значения первого числа c := b-a-1; write('Введите 2 число: '); readln(b);//Ввод значения второго числа writeln(a, ' ' , b); //Вывод двух чисел writeln(a, ' ' ,a*a,' ' , a*a*a); // Вывод 1 числа, квадрата, куба for i := 1 to b-a-1 do begin a := a + 1; writeln(a, ' ',a*a, ' ', a*a*a); // Вывод всех чисел от a до b end; writeln(b, ' ' ,b*b,' ' , b*b*b);// Вывод 2 числа, квадрата, куба ReadKey; end. //Конец программы
var d:integer;
begin
d:=n mod 10;
if d=n then NumSum:=n
else NumSum:=d+NumSum(n div 10)
end;
var a,b,d:integer;
begin
Write('Введите два числа: '); Read(a,b);
d:=NumSum(a)-NumSum(b);
if d>0 then Writeln('Сумма цифр в первом числе больше')
else
if d<0 then Writeln('Сумма цифр во втором числе больше')
else Writeln('Сумма цифр в обоих числах одинакова')
end.