#java #count #sum
Вопрос:
мне нужно рассчитать сумму n терминов, я написал этот код, но он напечатал мне все цифры, но не сумму
for (i = 1; i lt;= n; i ){ for ( j = 0; j lt; i; j ){ System.out.print(i); } }
И вот что он напечатал
122333444455555
Спасибо за вашу помощь
Комментарии:
1. сумма обычно, когда вы складываете числа вместе
int sum = 1 2;
, я не вижу ничего подобного в вашем коде.2. Действительно, суммирование обычно накапливается, например
sum = sum i
Ответ №1:
Если под «суммой N терминов» вы подразумеваете,
N=4
Сумма= 1 2 2 3 3 3 4 4 4 4….Н*Н
Тогда можно с уверенностью сказать, что это сумма(i*i) , где 0lt;i:
int sum = 0; for (int i = 1; i lt;= n; i ) { sum = i * i; } System.out.println(sum);
Комментарии:
1. Ваш счетчик идет от
0
доn - 1
, в то время как он должен идти от1
доN
. Измените свойfor
цикл наfor (int i = 1; i lt;= n; i )
.
Ответ №2:
Одним из хороших подходов здесь является использование модуля:
int input = 122333; int sum = 0; while (input gt; 0) { sum = input % 10; input /= 10; } System.out.println("Sum of all terms is: " sum); // 14
input % 10
Термин вернет последнюю крайнюю правую цифру во входных данных. Мы добавили это к текущему итогу, а затем разделили входные данные на 10, чтобы перейти к следующей цифре.
Комментарии:
1. Вы уверены, что это то, что они пытаются сделать? Моя интерпретация заключается в том, что они суммируют 1, 2,2, 3,3,3, … n,…. n.
2. @tgdavies … то, что в настоящее время делает ОП, не согласуется с постановкой проблемы, которая, как ни странно, фигурирует только в названии вопроса:
Sum of n terms.. 122333=14
Ответ №3:
Наконец-то я это сделал
for (i = 1; i lt;= n; i ){ for ( j = 0; j lt; i; j ){ res=res i; System.out.print(i); } } System.out.println(" La sumatoria es " res);