Найти количество всех двухзначных чисел, у которых сумма цифр кратная 2

Задача

В двумерном массиве натуральных случайных чисел от 0 до 199 найти количество всех двухзначных чисел, у которых сумма цифр кратная 2.

Решение

 

Если число больше 9 и меньше 100, то извлекаем из него первую цифру (деля нацело на 10) и вторую (деля по модулю на 10) и складываем их. Если сумма делится нацело на 2, то увеличиваем на 1 счетчик.

Программа на языке Паскаль: 

 

const
	m = 10;
	n = 5;
var
    arr: array[1..m, 1..n] of integer;
    i,j,count: byte;
 
begin
	randomize;
	count := 0;
    for i:=1 to n do begin
		for j:=1 to m do begin
			arr[i,j] := random(200);
			write(arr[i,j]:4);
			if (arr[i,j] > 9) and (arr[i,j] < 100) then
				if (arr[i,j] div 10 + arr[i,j] mod 10) mod 2 = 0 then
					count := count + 1;
		end;
		writeln;
	end;
	writeln(count);
end.

 

Пример выполнения программы:

 139  93  79 162  40  12  43  67 170 190
  90  25  95  61  69 100 141 169 111  17
  81  11  87  47  69 151  47  65 146 129
 111 139  55  54 185 166  57  43 122   0
 143  36  21 169 103 178  81  95 186 184
9

 

Тема

Матрицы

Уровень

Простые задачи

Теги

Комментарии

//В двумерном массиве натуральных случайных чисел от 0 до 199 найти количество всех двухзначных чисел, у которых сумма цифр кратная 2.
uses crt;
var b,d,e,a,c,summ,i,n:integer;
begin
 b:=1;
 a:=0;
 write('Введите кол-во случайных чисел:');
 readln(n);
  for i:= 1 to n do begin
   c:=random(199);
   write(b,')',c,'-');
 
   if (c>9) and (c<100) then begin
    d:=c div 10;
    e:=c mod 10;  //можно заменить на e:=c-(d*10);
     summ:=d+e;
      if  (summ mod 2)=0 then begin
      writeln('кратно 2');
      a:=a+1
      end
      else writeln('не кратно 2');
      end
   else writeln('не двузначное');
   b:=b+1;
   end;
 
  writeln('Количество всех двухзначных чисел кратных двум = ',a)
 
  end.

Добавить комментарий