سلام.
میخوام یه عدد رو بگیرم که اسمش هم N هست . بعد به صورت زیر محاسبه کنه.
answer=(1)+(2^2)+(3^3)+(4^4)+....N^N
و دستوراتش ابتدایی باشه.
در ضمن توان رسانی نباید با علامت توان انجام بشه وبا ید با حلقه توان رسانی بشه.
ممنون
سلام.
میخوام یه عدد رو بگیرم که اسمش هم N هست . بعد به صورت زیر محاسبه کنه.
answer=(1)+(2^2)+(3^3)+(4^4)+....N^N
و دستوراتش ابتدایی باشه.
در ضمن توان رسانی نباید با علامت توان انجام بشه وبا ید با حلقه توان رسانی بشه.
ممنون
Last edited by mohammad1314; 14-11-2012 at 13:32.
از ان به پایین بیاد یا از 1 به سمت ان باید بره؟!!
مثلا عدد 5 رو میده، 5 به توان چهار، بعد به توان سه بعد.......
به هر صورت، توان های بازگشتی باید استفاده بشن.... متاسفانه فرصت نوشتن نیست! ولی توی همین انجمن تابع(قبلی نوشتم توان اشتباه لپی بودش!!) بازگشتی به تعداد فراوان توضیح داده شده!!!
برای به توان رساندن هم از حلقهی For استفاده کنین... به این شکل یه مقدار Result رو در نظر بگیرید و هر بار از I=1 رو شروع کنین به ضرب کردن تا مقدار I=N که مقدار N هر بار از تابع میاد و در مرحلهی بعدی یه دونه میره بالا تر!
از یک تا n بره وبه این صورت :
1^1+2^2+3^3+...n^n
یعنی از یک شروع کنه عدد رو به توان خودش برسونه تا n که اون رو هم به توان خودش برسونه
یه حلقهی دو لایه یا تو در تو بزن!!
مثلا
Int N;
int Result = 1;
(for in i = 0;i<N;i++)
{
for(int j=0;j<i;j++)
{
result = result*j;
}
}
البته فک کنم یه همچین ساختاری داره.... باید با شرط های حلقه کمی بازی کنی.... مثلا حلقه نباید از 0 شروع بشه!!! چون مقدار Result با 0 ضرب میشه و نتیجهاش هم میشه 0!!!! به همین دلیل، وقتی از یک شروع میشه، باید تا وقتی به بزرگتر مساویش میرسه عملیات صورت بگیره که باعث بشه اون عدد خودش هم حلقه رو بگیردونه و بعد بیاد بیرون....
میگم یه خورده با شرط های حلقه ها بازی کنین درست میشه...
حالا نمیدونم تابع بازگشتی برای این جور گام حرکت هم کاربرد داره یا نه!! یادم نیست!
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)