kristal1
?>

Определите какая запись соответствует выражению, записанному по правиламязыка программирования Python:a + bd +cdd+a+b/(c+d)d+ (a+b)/c+dd+ (a+b)/(c) *dd+ (a+b)/(c+d) ​

Информатика

Ответы

vikapar2646
Реализация на Python
--

import datetime

import time

from math import sqrt

 

UTC = datetime.datetime.utcnow

 

class MyClass:

    def __init__(self, number):

       self.number = number

       self.res = 0

       self.acc = [[1]]

 

    def addToPos(self, pos, i):

        self.acc[pos] = self.acc[pos] + [i]

 

    def addToTail(self, i):

        self.acc = self.acc + [[i]]

 

    def testPos(self, pos, i):

        ret = True

        for x in self.acc[pos]:

            if i % x == 0:

                ret = False

                break

        return ret

 

    def addCand(self, i):

        ret = False

        pos = 0

        for lst in self.acc:

          if self.testPos(pos, i):

            ret = True

            self.addToPos(pos, i)

            break

          pos = pos + 1

 

        if not ret:

            self.addToTail(i)

 

 

    def calc(self):

        for i in range(2, self.number + 1):

            self.addCand(i)

        print(self.acc)

        print(len(self.acc))

 

def test(num):

   start = UTC()

  

   cl = MyClass(num)

   cl.calc()

 

   print (UTC() - start)

 

if __name__ == '__main__':

    test(int(input()))

    

   
python test.py
9
[[1], [2, 3, 5, 7], [4, 6, 9], [8]]
4

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Определите какая запись соответствует выражению, записанному по правиламязыка программирования Python:a + bd +cdd+a+b/(c+d)d+ (a+b)/c+dd+ (a+b)/(c) *dd+ (a+b)/(c+d) ​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Стяжкин
Yuliya mikhail
aluka
Оксана759
ltdfoliant62
Shirochkingames
Nikol27051986
andrey
santechma
mos-5nica
timonina29
alfakurs
naromanova
sn009
bureiko