Я должен найти накопленную сумму чисел без использования array.Like Если п = 3 & к = 5, то мой ответ будет идти, как этот пнакопленная сумма чисел
1+2+3+4+5 (sum of k elements)
+ 1+3+6+10+15
+ 1+4+10+20+35
(i.e. n times)
п & K в диапазоне от от 1 до 10^9
Здесь элементов из индекса 2 являются накопительной суммой от предыдущей серии из индекса 1 к индексу х, как
второго значение во второй серии 3, который является накопленной суммой с Шифрованием до Значение econd в предыдущей серии 1 + 2
третье значение во второй серии 6, который является накопленную сумму Шифрование до третьего значения в предыдущей серии 1 + 2 + 3
Аналогично третье значение в третьей серии 10, которая является кумулятивным сумма Шифрование до третьего значения в предыдущей серии 1 + 3 + 6 Мой подход до знать,
//For n==1
for(i=0;i<k;i++)
{
a[i]=i+1;
sum = sum + a[i]%mod;
}
if(n==1)
{
printf("%lld\n",sum%mod);
}
//For n>1
else
{
res = (n-1)*k;
for(w=0;w<res;w++)
{
f = w%k;
if(f==0)
{
a[f] = 1;
sum = sum + a[f]%mod;
}
else
{
a[f] = a[f]+a[f-1];
sum = sum + a[f]%mod;
}
}
printf("%lld\n",sum%mod);
}
здесь я использовал массив, хранящий серии снова и снова, и найти свою накопленную сумму, но здесь п * к собирается слишком большой ,
Пожалуйста, помогите мне в этом, предлагая некоторые оптимизированный подход к этому Наконец я найти общую сумму всех этих чисел по модулю 1000003 1 + 2 + 3 + 4 + 5 + 1 + 3 + 6 + 10 + 15 + 1 + 4 + 10 + 20 + 35 = 120% 1000003 =
И вы хотите, чтобы сделать это без использования массивов? – Shar1er80
Да как k может быть 10^9 – sagar
Пожалуйста, попробуйте использовать лучшие имена переменных, чем 'a, b, i, j, k, f ...' Или сократите свою функцию еще в нескольких других. – Aracthor