ответ:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
Chislo, Count, Summa, n: integer;
begin
Summa := 0;
Count := 0;
readln(Chislo);
while Chislo > 0 do
begin
n := Chislo mod 10;
if odd(n) then
begin
Summa := Summa + n;
inc(Count);
end;
Chislo := Chislo div 10;
end;
writeln('Сумма нечетных цифр числа: ', Summa);
writeln('Кол-во нечетных цифр числа: ', Count);
writeln('Среднее арифметическое нечетных цифр: ', Summa / Count);
end.
Объяснение:
тогда сумма подряд идущих чисел, начиная с х будет равна
Sum = Nx + N*(N-1)/2
здесь второе слагаемое - это частичная сумма арифметической прогрессии 0,1,2,3...N
Максимальное значение N будет при нулевом x
1/2 (N - 1) N = 1014
N^2/2 - N/2 - 1014 = 0
N = 1/2 - sqrt(8113)/2 - нехороший корень
N = 1/2 + sqrt(8113)/2 - а это правильный, равный 45,53
Максимальное значение x будет при N=1
x = 1014, это тривиальное решение
Перебирать будем по N, просто меньше перебора
Nx + N*(N-1)/2 = 1014
Nx = 1014 - N*(N-1)/2
x = 1014/N - (N-1)/2 = (2028 - N(N-1))/(2N)
и проверять x на целостность
var
x,n,counter:longint;
begin
counter:=0;
for n:=1 to 45 do
if (2028 - N*(N-1))mod(2*N) = 0 then
begin
inc(counter);
x := (2028 - N*(N-1))div(2*N);
writeln ('x=',x,' N=',n);
end;
writeln('Всего решений ',counter);
end.
а отрезков 6