О вычислении делителей числа
Прежде всего вспомним, что определить является ли число
b
делителем числа
a
можно следующим образом.
C++
|
if( a % b == 0 )
// число b является делителем числа a
else
// число b не является делителем числа a
|
Python |
if a % b == 0:
// число b является делителем числа a
else:
// число b не является делителем числа a
|
Pascal |
if a mod b = 0 then
// число b является делителем числа a
else
// число b не является делителем числа a
|
Самый простой способ найти все делители числа n
- это проверить по очереди делимость n
на каждое из чисел 1, 2, 3, ..., n
.
Пример ниже показывает как можно вывести на экран все делители числа
n
.
C++
|
Python |
Pascal |
for(int i = 1; i <= n; i++)
if( n % i == 0 )
cout << i << " ";
|
for i in range(1, n+1):
if n % i == 0:
print( i )
|
for i:=1 to n do
if n mod i = 0 then
write(i, ' ');
|
Если необходимо посчитать количество делителей числа
n
, то достаточно завести переменную, которая будет увеличиваться на
1
, если выполняется условие (
n % i == 0, n mod i = 0
).
C++
|
Python |
Pascal |
k = 0
for(int i = 1; i <= n; i++)
if( n % i == 0 )
k++;
cout << k;
|
k = 0
for i in range(1, n+1):
if n % i == 0:
k += 1
print( k )
|
k := 0
for i:=1 to n do
if n mod i = 0 then
k := k + 1;
write( k );
|