Ввести натуральное число n и вывести все натуральные числа, не превосходящие n и делящиеся на каждую из своих цифр. пример: введите n: 15 1 2 3 4 5 6 7 8 9 11 12 15
Var n,i,k,d:integer; b:boolean; begin write('n = '); readln(n); for i:=1 to n do begin b:=true; k:=i; while b and (k>0) do begin d:=k mod 10; if d<>0 then b:=b and (i mod d = 0) else b:=false; k:=k div 10; end; if b then write(i,' '); end; writeln; end.
2) Program asd; USES crt; Var n,i,t,p:integer; BEGIN Clrscr; readln(n); for i:=1 to n do begin t:=i; p:=1; repeat p:=p*(t mod 10); t:=t div 10; until t=0; if (p<>0)and(i mod p=0) then write(i,' '); end; Readln; END. Сейчас первую дорешаю
k = int(input('Начало диапазона ')) n = int(input('Конец диапазона ')) a = [0] * n # создание массива с n количеством элементов for i in range(n): # заполнение массива a[i] = i a[1] = 0
m = 2 # замена на 0 начинается с 3-го элемента
while m < n: # перебор всех элементов до заданного числа if a[m] != 0: j = m * 2 while j < n: a[j] = 0 j = j + m m += 1
# вывод простых чисел на экран b = [] for i in a: if a[i] != 0 and i >= k: b.append(a[i])
del a print(b)
Задание №2
count = 0 for i in range(13): for j in range(11): for k in range(9): if 185 == i*15+j*17+k*21: count += 1 print(i,j,k) print('Всего
Задание №3
x = int(input()) print('\n'.join( str(n) for n in range(x+1) if all(x != 0 and n % x == 0 for x in map(int, str(n
begin
write('n = '); readln(n);
for i:=1 to n do
begin
b:=true;
k:=i;
while b and (k>0) do
begin
d:=k mod 10;
if d<>0 then b:=b and (i mod d = 0) else b:=false;
k:=k div 10;
end;
if b then write(i,' ');
end;
writeln;
end.
Пример:
n = 25
1 2 3 4 5 6 7 8 9 11 12 15 22 24
#include<stdlib.h>
#include<conio.h>
int main() {
int n,k,pr;
printf("n = ");
scanf("%i",&n);
//поиск чисел
for (int i=1; i<n+1; i++)
{
k=i; pr=0;
while (k>0)
{
if (((k % 10)==0) or (i % (k % 10)>0))
{ pr=1; break; }
k=k/10;
}
if (pr==0) printf("%i ",i);
}
printf("\n");
getch();
return(0);
}
USES crt;
Var n,i,t,p:integer;
BEGIN
Clrscr;
readln(n);
for i:=1 to n do
begin
t:=i;
p:=1;
repeat
p:=p*(t mod 10);
t:=t div 10;
until t=0;
if (p<>0)and(i mod p=0)
then
write(i,' ');
end;
Readln;
END.
Сейчас первую дорешаю
def IsDivAll(obj:int, divs:list)->bool:
if 0 in divs: return False
for divisor in divs:
if obj % divisor != 0:
return False
return True
def number_to_digits(number:int)->list:
return list(map(int, list(str(number))))
N = int(input())
for i in range(1, N+1):
if IsDivAll(i, number_to_digits(i)): print(i)
Объяснение:
def NoRemByEachNum(x):
temp = x
while(temp > 0):
if(temp%10==0): return False
elif(not(x%(temp%10)==0)): return False
else: temp=int(temp/10)
return True
for i in range(0,int(input('N = '+'\n'))+1):
if(NoRemByEachNum(i)): print(i)
var n,i,k,d: integer; b: boolean;
begin
write('n = '); readln(n);
for i: =1 to n do
begin
b: =true;
k: =i;
while b and (k> 0) do
begin
d: =k mod 10;
if d< > 0 then b: =b and (i mod d = 0) else b: =false;
k: =k div 10;
end;
if b then write(i,' ');
end;
writeln;
end.
var n,i,k,d: integer; b: boolean;
begin
write('n = '); readln(n);
for i: =1 to n do
begin
b: =true;
k: =i;
while b and (k> 0) do
begin
d: =k mod 10;
if d< > 0 then b: =b and (i mod d = 0) else b: =false;
k: =k div 10;
end;
if b then write(i,' ');
end;
writeln;
end.
пример:
n = 25
1 2 3 4 5 6 7 8 9 11 12 15 22 24
#include <iostream>
int main()
{
using namespace std;
unsigned long int N;
cout << "Enter natural number: ";
cin >> N;
for (int i = 1; i < N; i++)
{
int j = i;
while (j % 10 != 0 && i % (j % 10) == 0)
j = j / 10;
if (j == 0)
cout << i << " ";
}
cout << endl;
return 0;
}
k = int(input('Начало диапазона '))
n = int(input('Конец диапазона '))
a = [0] * n # создание массива с n количеством элементов
for i in range(n): # заполнение массива
a[i] = i
a[1] = 0
m = 2 # замена на 0 начинается с 3-го элемента
while m < n: # перебор всех элементов до заданного числа
if a[m] != 0:
j = m * 2
while j < n:
a[j] = 0
j = j + m
m += 1
# вывод простых чисел на экран
b = []
for i in a:
if a[i] != 0 and i >= k:
b.append(a[i])
del a
print(b)
Задание №2
count = 0
for i in range(13):
for j in range(11):
for k in range(9):
if 185 == i*15+j*17+k*21:
count += 1
print(i,j,k)
print('Всего
Задание №3
x = int(input())
print('\n'.join(
str(n) for n in range(x+1)
if all(x != 0 and n % x == 0 for x in map(int, str(n