Паскаль. дано натуральное число n. найти и вывести все числа в интервале от 1 до n - 1, у которых сумма всех цифр совпадает с суммой цифр данного числа. если таких чисел нет, то вывести слово "нет". пример: n = 44. числа: 17, 26, 35.
Не уверен может не работать var a,n,sn,s,i,n1:integer; begin readln(n); n1:=n; repeat sn:=sn+n1 mod 10; n1:=n1 div 10; until n1=0; for i:=1 to n-1 do begin a:=i; s:=0; repeat s:=s+a mod 10; a:=a div 10; until a=0; if s=sn then write(i,' '); end; readln; end.
1100001^2 1100001^2=1*2^7+1*2^6+0+0+0+0+1*2^0=128+64+1=193^10 ответ:193 Пояснение:для того чтобы перевести двоичную в десятичную-надо сначала посчитать количество разрядов числа с конца начиная с 0-то есть число будет выглядеть так 0 1 2 3 4 5 6 7- 7 разрядов,потом берём первое число 1 умножаем его на 2 в степени семь,так как последний разряд и степень 7,получиться число 128=2^7,прибавляем к этому следующее число степень которого 6,то есть 2^6=64,дальше всё 0 и прибавляем к этому последний разряд 2^0=1,следовательно и получается 128+64+1=193
var
a,n,sn,s,i,n1:integer;
begin
readln(n);
n1:=n;
repeat
sn:=sn+n1 mod 10;
n1:=n1 div 10;
until n1=0;
for i:=1 to n-1 do
begin
a:=i;
s:=0;
repeat
s:=s+a mod 10;
a:=a div 10;
until a=0;
if s=sn then write(i,' ');
end;
readln;
end.