Ошибка.
Попробуйте повторить позже
Назовем натуральное число подходящим, если оно среди натуральных чисел с такой же, как у него, суммой цифр является минимальным.
Найдите количество подходящих чисел, кратных на отрезке
Для начала поймем, какие числа являются подходящими и кратными :
def num(x): summ = 0 while x > 0: summ += x % 10 x //= 10 return summ a = set() for i in range(1, 6999999999+1): t = num(i) if not t in a: if i % 3 == 0: print(i, t) a.add(t)
Данный код будет печатать числа , а затем те числа, которые начинаются с , или , а остальная часть которых будет целиком состоять из .
Предлагается написать код-генератор для подобных чисел:
ans = [3, 6, 9] nums = ’369’ x = ’9’ for i in range(9): for digit in nums: result = int(digit + x) if result <= 6999999999: ans.append(result) x += ’9’ print(len(ans))
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске и делящиеся на без остатка. В ответе запишите количество найденных чисел.
Решение 1
ans = 0 for i in range(1, 10): # пустая звёздочка s = str(i) + ’1231’ if int(s) % 11 == 0: ans += 1 #односимвольная звёздочка for w in range(10): s1 = str(i) + ’123’ + str(w) + ’1’ if int(s1) % 11 == 0: ans += 1 #двухсимвольная звёздочка for w in range(10): for z in range(10): s2 = str(i) + ’123’ + str(w) + str(z) + ’1’ if int(s2) % 11 == 0: ans += 1 print(ans)
Решение 2
from itertools import product ans = 0 for i in range(1, 10): for k in range(0, 3): for j in product(’0123456789’, repeat=k): s = str(i) + ’123’ + ’’.join(j) + ’1’ if int(s) % 11 == 0: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске *?? и делящиеся на без остатка. В ответе запишите количество найденных чисел.
ans = 0 for i in range(10): for j in range(10): # пустая звёздочка s = ’829’ + str(i) + ’17’ + str(j) if int(s) % 31 == 0: ans += 1 #односимвольная звёздочка for w in range(1, 10): #число не начинается с 0 s1 = str(w) + ’829’ + str(i) + ’17’ + str(j) if int(s1) % 31 == 0: ans += 1 #двухсимвольная звёздочка for w in range(1, 10): #число не начинается с 0 for z in range(10): s2 = str(w) + str(z) + ’829’ + str(i) + ’17’ + str(j) if int(s2) % 31 == 0: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске * и делящиеся на без остатка. В ответе запишите количество найденных чисел.
ans = 0 # пустая звёздочка if 2738 % 7 == 0: ans += 1 #односимвольная звёздочка for w in range(10): s1 = ’2738’ + str(w) if int(s1) % 7 == 0: ans += 1 #двухсимвольная звёздочка for w in range(10): for z in range(10): s2 = ’2738’ + str(w) + str(z) if int(s2) % 7 == 0: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске ?? и делящиеся на без остатка. В ответе запишите количество найденных чисел.
ans = 0 for x in range(10): for i in range(10): n = int(’9’ + str(x) + ’123’ + str(i)) if n % 7 == 0: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске ?? и делящиеся на без остатка. В ответе запишите количество найденных чисел
ans = 0 for x in range(10): for i in [0, 5]: #любое число, оканчивающееся на 0 или 5, делится на 5 ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске *? и делящиеся на без остатка.
В ответе запишите количество найденных чисел.
count = 0 for x in "1234567890": count += (int("12" + "4" + x + "65") % 141 == 0) for y in "1234567890": count += (int("12" + y + "4" + x + "65") % 141 == 0) for z in "1234567890": count += (int("12" + y + z + "4" + x + "65") % 141 == 0) print(count)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, где сумма всех делителей числа соответствует маске *. В ответе запишите количество найденных чисел.
def summa(n): s = set() for i in range(1, int(n**0.5)+1): if n % i == 0: s.add(i) s.add(n // i) return sum(s) ans = 0 res = [] for i in range(1, 1000001): num = str(summa(i)) if len(num) >= 3: if num[0] == ’1’ and int(num) % 100 == 38: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске и делящиеся на без остатка. В ответе запишите количество найденных чисел.
ans = 0 for i in range(10): for j in range(10): # пустая звёздочка s = ’1’ + str(i) + ’38’ + str(j) + ’70’ if int(s) % 11 == 0: ans += 1 #односимвольная звёздочка for w in range(10): s1 = ’1’ + str(i) + ’38’ + str(j) + ’70’ + str(w) if int(s1) % 11 == 0: ans += 1 #двухсимвольная звёздочка for w in range(10): for z in range(10): s2 = ’1’ + str(i) + ’38’ + str(j) + ’70’ + str(w) + str(z) if int(s2) % 11 == 0: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих маске , у которых сумма нетривиальных делителей больше самого числа? В ответ запишите количество чисел.
s=0
for i in range(2,int(n**0.5)+1):
if n%i==0:
s+=i
if n//i!=i:
s+=n//i
return s
counter=0
for a1 in (’0123456789’):
for a2 in (’0123456789’):
s=’123’+a1+’654’+a2
n=int(s)
if dev(n)>n:
counter+=1
print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске , чтобы в сумме нетривиальных делителей разность между суммой цифр, стоящих на нечетных местах, и суммой цифр, стоящих на четных местах делилась на , кроме того, сумма цифр суммы нетривиальных должна делиться на . В ответ запишите количество найденных чисел.
def dev(n): s=0 for i in range(2,int(n**0.5)+1): if n%i==0: s+=i if n//i!=i: s+=n//i return s counter=0 for a1 in (’0123456789’): for a2 in (’0123456789’): s=’123’+a1+’654’+a2 n=str(dev(int(s))) summa = 0 for i in range(len(n)): if i % 2 == 0: summa += int(n[i]) else: summa -= int(n[i]) if abs(summa)%11==0 and int(n) % 9 == 0: counter+=1 print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске , чтобы в сумме нетривиальных делителей разность между суммой цифр, стоящих на нечетных местах, и суммой цифр, стояших на четных местах делилась на . В ответ запишите количество чисел.
def dev(n): s=0 for i in range(2,int(n**0.5)+1): if n%i==0: s+=i if n//i!=i: s+=n//i return s counter=0 for a1 in (’0123456789’): for a2 in (’0123456789’): s=’987’+a1+’654’+a2+’3’ n=str(dev(int(s))) summa = 0 for i in range(len(n)): if i % 2 == 0: summa += int(n[i]) else: summa -= int(n[i]) if abs(summa)%11==0: counter+=1 print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске , чтобы сумма цифр нетривиальных делителей делилась на . В ответ запишите количетсво чисел.
s=0
for i in range(2,int(n**0.5)+1):
if n%i==0:
s+=i
if n//i!=i:
s+=n//i
return s
counter=0
for a1 in (’0123456789’):
for a2 in (’0123456789’):
s=’987’+a1+’654’+a2+’3’
n=int(s)
if dev(n)%9==0:
counter+=1
print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске , чтобы сумма делителей давала остаток от деления на . В ответ запишите количетсво чисел.
s=0
for i in range(1,int(n**0.5)+1):
if n%i==0:
s+=i
if n//i!=i:
s+=n//i
return s
counter=0
for a1 in (’0123456789’):
for a2 in (’0123456789’):
s=’987’+a1+’654’+a2+’3’
n=int(s)
if dev(n)%3==1:
counter+=1
print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует простых натуральных чисел, соответствующих следующей маске . В ответ запишите количество чисел.
def is_simple(n): if n==1: return False for i in range(2,int(n**0.5)+1): if n%i==0: return False return True counter=0 for a1 in (’0123456789’): for a2 in (’0123456789’): s=’987’+a1+’654’+a2+’3’ n=int(s) if is_simple(n): counter+=1 print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске и чтобы разряд десятков, сложенный с учетверенным разрядом единиц, был кратен (то есть для числа это ). Кроме того, сумма цифр должна быть кратна . В ответ запишите в порядке возрастания найденные числа и соответствующий им результат от целочисленного деления на .
for a1 in (’0123456789’): for a2 in (’0123456789’): s=’90’+a1+’123’+a2 n=3+int(a2)*4 summa = 0 for i in s: summa += int(i) if n%13==0 and summa%3==0: print(int(s), int(s)//39)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске и чтобы число десятков, сложенное с учетверенным число единиц, было кратно (то есть для числа это ). В ответ запишите количество найденных чисел.
counter = 0 for a1 in (’0123456789’): for a2 in (’0123456789’): s = int(’90’+a1+’123’+a2) n = 3+int(a2)*4 if n%13==0: counter += 1 print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске
и разность между суммой цифр, стоящих на нечетных местах, и суммой цифр, стоящих на четных местах
делилась на , а сумма всех цифр делилась на . В ответ запишите количество таких чисел. Если таких чисел нет, в
ответ запишите .
counter=0 for a1 in (’0123456789’): for a2 in (’0123456789’): s=’123’+a1+’123’+a2+’123’ n=abs(1+3+1+3+1+3-2-int(a1)-2-int(a2) - 2) summa = 0 for j in s: summa += int(j) if n%11==0 and summa%3==0: counter+=1 print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске
и разность между суммой цифр, стоящих на нечетных местах, и суммой цифр, стояших на четных местах
делилась на . В ответ запишите количество таких чисел.
counter=0 for a1 in (’0123456789’): for a2 in (’0123456789’): s=’123’+a1+’123’+a2+’123’ n=abs(1+3+1+3+1+3-2-int(a1)-2-int(a2)-2) if n%11==0: counter+=1 print(counter)
Ошибка.
Попробуйте повторить позже
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Сколько существует натуральных чисел, соответствующих следующей маске и их сумма цифр делилась на . В ответ запишите в порядке возрастания найденные числа и соответствующий им результат от целочисленного деления на .
counter=0 for a1 in (’0123456789’): s=’123’+a1 n = 0 for i in s: n += int(i) s = int(s) if n%3==0: print(s, s//3)