Const
n = 6;
var
i, j: integer;
a: array[1..n, 1..n] of integer;
begin
for i := 1 to n do
begin
for j := 1 to n do
begin
if i mod 2=0 then a[i, j] := 0
else a[i, j] := 1;
write(a[i, j])
end;
writeln;
end;
end.
Тестовое решение:
111111
000000
111111
000000
111111
000000
В коде есть две проблемы:
1) input().split() возвращает список строк. Строки сравниваются лексикографически, и не всегда совпадают с тем, как соотносятся числа: например, "8" > "10", несмотря на то, что 8 < 10. Это лечится преобразованием к целому типу.
2) Это не приведет в ошибке, но не очень аккуратно: условие a[i] > a[i - 1] and i != 0 при i = 0 сравнит a[0] и a[-1], то есть первый и последний элемент, и только потом узнает, что i = 0. Сравнение этих элементов массива бессмысленно, код не ломается на этом месте только из-за особенности языка, в котором определены отрицательные индексы. Если переставить условия местами, то сначала код проверит, что i != 0, и если это не так, он ничего сравнивать не будет. Другой способ поправить - поменять границы в range, так будет немного быстрее.
Итоговый вариант:
a=input().split()
for i in range(1, len(a)):
if int(a[i])>int(a[i-1]):
print(a[i])
Пример ввода:
1 2 3 3 2 1
Пример вывода:
2
3
Відповідь: 1) если m+3=n-1=0- , m=-3, n=1 x
2) m=-3, x -
3) если m=/-3, x=n-1/m+3
Пояснення:
вот
В цикле посчитать количество чисел при делении на которые не остаётся остатка от деления. Т.е. деление нацело происходит.
#include <stdio.h>
void main(void) {
int qty=0;
int x = 30000;
for (int i=1; i<=x; i++) { //Организовываем цикл от 1 до значения числа x
// Если x делится без остатка, значит число - натуральный <span>делитель.</span>
if (x % i==0)
qty++;
}
printf("количество натуральных делителей %i", qty);
}