tonyakuznetsova
?>

Дано целое число. количество цифр неизвестно. разработать алгоритм подсчёта суммы его цифр.​

Информатика

Ответы

annanudehead1426

делить исходное число на 10 до того момента, пока не останется 0. Остатки от деления суммировать

Дмитрий_Владимирович1162

Исходный код (Python 3.8 x64):

class InvalidArgumentException(Exception): pass

class KeyValuePair:

def __init__(self, key, value):

 self._key = key

 self._value = value  

@staticmethod

def FromList(pair: list):

 if (len(pair) != 2): raise InvalidArgumentException("List must contain strictly 2 elements for initialize KeyValuePair")

 return KeyValuePair(pair[0], pair[1])

@property  

def Key(self):

 return self._key  

@property

def Value(self):

 return self._value

 

def strip(string: str):

return string.strip()

def readWordPairs(wordCount: int, pairSeparator: str = "-") -> dict:

temp = dict()

for i in range(wordCount):

 wordPair = KeyValuePair.FromList(list(map(strip, input(f'{i} pair: ').lower().split(pairSeparator

 if wordPair.Key in temp.keys():

  temp[wordPair.Key] = [temp[wordPair.Key], wordPair.Value]

 else:

  temp[wordPair.Key] = wordPair.Value

return temp

def main():

wordCount = int(input("Enter words pairs count:\n"))

wDict = readWordPairs(wordCount)

while True:

 word = input("Enter word: ")

 if word.lower() == "exit": break

 print(f"Synonim: {wDict[word]}" if word in wDict.keys() else "Not found")

input("press any key to close program")

if __name__ == "__main__":

   main()

Объяснение:

Если есть вопросы - не стесняйтесь задать в комментариях к ответу. Ошибок, которые вы описали в задании, в данном случае не наблюдается. Единственное, я сделал так, что бы программа не завершалась после первого найденного слова, а запрашивала слова до тех пор, пока пользователь не введёт команду exit

Yelfimova-andrei

#include <iostream>

typedef long long   ll;

using namespace std;

bool ll_is_valid(ll t, ll N, ll x, ll y)

{

return  t / x + (t - x) / y >= N;

}

ll f(ll N, ll x, ll y)

{

   ll R = 1;

   while (!ll_is_valid(R,N,x,y)) R *= 2;

ll L = R / 2;

while(R - L > 1)

{

 ll M   =   (L + R) / 2;

 

 if (!ll_is_valid(M,N,x,y)) {L = M;}

 else {R = M;}

}

return  R;

}

int  main()

{

ll N,x,y;

cin >> N >> x >> y;

if(x > y) swap( x, y );  

cout << f(N, x, y) <<  std::endl;

}

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

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

Дано целое число. количество цифр неизвестно. разработать алгоритм подсчёта суммы его цифр.​
Ваше имя (никнейм)*
Email*
Комментарий*

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

alfakurs
mantseva
xcho1020
artmasterstyle
klodialeit36
Староческуль-Станиславовна
ЮрьевичКарпова1564
Varagyant
Yekaterina_Popova1413
Марина
cafegasoil
Оксана759
gassvetlana
vuyakovleva
edubenskaya