delfa-r6289
?>

Марина любит нечётные значения. Однажды она выписала на доске все числа от A до B (включительно), а затем стёрла те числа, сумма цифр которых чётна. Определите, сколько чисел осталось на доске. Входные данные Программа получает на вход два натуральных числа A и B, A ≤ B. Выходные данные Программа должна вывести единственное число — количество чисел с нечётной суммой цифр из выписанных на доске.

Информатика

Ответы

ksoboleva

a = int(input())

b = int(input())

lista = []

count = 0

for i in range(b - a + 1):

lista.append(a)

a = a + 1

for i in range(len(lista)):

result = (sum(map(int,str(lista[i]

if not(result % 2 == 0):

 count = count + 1

print(count)

Объяснение:

на последних тестах с огромными числами алгоритм работает дольше секунды.

yurassolo747

ответ: Я немного редакнул твой код, он формирует лист в 2 раза быстрее) не знаю в + ли это

Объяснение:

a = int(input())

b = int(input())

count = 0

lista = [x for x in range(a, b+1)]

a = a + 1

for i in range(len(lista)):

result = (sum(map(int,str(lista[i]

if not(result % 2 == 0):

 count = count + 1

print(count)

mitin228133770
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
  var m := Length(a, 0);
  var n := Length(a, 1);
  Result := new integer[n, m];
  for var i := 0 to n-1 do begin
    for var j := 0 to m-1 do
      Result[i, j] := a[m-1-j, i];
  end;
end;

begin
  var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
  var a :=MatrixRandom(n, n);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(a[i,j]);
    println;
    end;
     println;

  Println('поворот влево на 90 гр');
  var b := Transpose(a);
  b:=Transpose(b);
  b:=Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
  println;

  Println('поворот вправо на 90гр');
  b := Transpose(a);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
 println;

 Println('поворот на 180 гр');
  b := Transpose(a);
  b := Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
end.
Koshkina Alekseevna
1. В "реальном мире" это решается примерно так:

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
  a.Sorted.Println
end.

Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2

2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
  nn=100;
var
  i,j,n,t:integer;
  a:array[1..nn] of integer;
begin
  Write('n='); Read(n);
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(3);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
      if a[j]>a[j+1] then begin
        t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
        end;
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Марина любит нечётные значения. Однажды она выписала на доске все числа от A до B (включительно), а затем стёрла те числа, сумма цифр которых чётна. Определите, сколько чисел осталось на доске. Входные данные Программа получает на вход два натуральных числа A и B, A ≤ B. Выходные данные Программа должна вывести единственное число — количество чисел с нечётной суммой цифр из выписанных на доске.
Ваше имя (никнейм)*
Email*
Комментарий*