حالا باز اگه هم فکر میکنید از خودم در میارم حداقل دوست خوبم fast code کار منو ساده کرد و یه مثال براش گذاشت!
for (int i = 1; i < 10; i++) n+=(i+2)*(i+1)/2;
یه جای گذاری کن اگه زحمتت میشه خودم انجام میدم.
2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2 + 10*11/2
که برابر است با :
2!+3!+4!+5!+6!+7!+8!+9!+10!
(منظور از ! همون جمع اعداد متوالیه)
==============================
اما برای 5 رقم قضیه فرق میکنه :
for (int i2 = 1; i2 < 10; i2++)
{
for (int i = 0; i <= i2; i++)
n+=(i+2)*(i+1)/2;
}
و پیاده سازی اون بدین شکل میشه:
(1*2/2 + 2*3/2) + (1*2/2 + 2*3/2 + 3*4/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2 + 10*11/2)
که میشه :
(1!+2!) + (1!+2!+3!) + (1!+2!+3!+4!) + (1!+2!+3!+4!+5!) + (1!+2!+3!+4!+5!+6!) + (1!+2!+3!+4!+5!+6!+7!) + (1!+2!+3!+4!+5!+6!+7!+8!) + (1!+2!+3!+4!+5!+6!+7!+8!+9!) + (1!+2!+3!+4!+5!+6!+7!+8!+9!+10!)
و این دقیقا همون چیزیه که بهش رسیدم و فرمولی هم ساختم بر همین اساس بود
امیدوارم کمی طرز تفکرونگرشتون نسبت به دنیای اطراف تغییر کنه . مطمئنم برای خودتون هم مفیده