2016-10-04 2 views
-4

У меня возникли проблемы с мыслью о том, чтобы уйти, чтобы напасть на эту проблему.Неисправность при запуске алгоритма

Х определено ниже. При n = 1, x = 0,5, n = 2, x = 0,833. Когда вы добавляете больше терминов, X увеличивается. Вычислите n, для которого X станет больше 4. Сначала напишите алгоритм, а затем реализуйте код в C.

x = 1/2 + 1/3 + ... 1/n + 1 ответ: n = 83

Единственное, что я уверен в том, что он использует для loop.At первых я думал что-то вроде

For(int i = 0; i <= n..... 

это не похоже, близко though.I dunno..Can я получить подсказку с чего начать?

+1

SO - это не служба написания кода. Попробуйте сами. Если вы застряли, обратитесь за помощью. Но мы не собираемся делать это за вас. – nhouser9

+0

Подсказки: «При n = 1» -> состояние начала. «X становится больше 4» -> конечным. «добавить дополнительные условия», -> условие шага. (приращение 'n'). Тело «x = нечто большее, чем раньше» – chux

+0

Подумайте о взаимосвязи между i и n в этом 'x = 1/2 + 1/3 + ... 1/n + 1' – hatchet

ответ

0

Вы, очевидно, вычислите частичные суммы X.n и остановитесь, когда X.n < 4 и X.n + 1> 4.

Для вычисления частичных сумм, сохранить переменный аккумулятор и добавить фракции один за другим

n= 0 
S= 0 
// Repeat the following instructions 
    n+= 1 
    S+= 1/(n+1) // Now, S = X.n 

Остается найти условие остановки. Поскольку величина S идет возрастает от 0, мы будем останавливаться, как только S превышает 4. Другими словами, продолжаться до тех пор, пока S остается ниже 4.

n= 0 
S= 0 
while S < 4 
    n+= 1 
    S+= 1/(n+1) // Now, S = X.n 

Перевести, что в синтаксисе C.

Остается присмотреться к возможности того, что X.n = 4.

Смежные вопросы