fonix light
Registered User
آقا من دانشجوي رشته ي كامپيوترم . مي خوام تابع ackerman رو تو C++ اجرا كنم و زمان محاسبه رو براي اعداد مختلف اندازه بگيرم . البته اين كارو تا m=3 و n=10 به راحتي انجام مي دم . ولي اعداد بعدي مثل m=4 و n=2 رو نمي تونم محاسبه كنم . وقتي برنامه رو با اين اعداد اجرا مي كنم ، برنامه بسته مي شه . ( چه turbo C++ و چه visual C++ . فرقي نمي كنه . هر دوشون بعد از اجراي برنامه به طور كلي بسته مي شن . )
از استادم سئوال كردم . گفت مربوط به محافظي مي شه كه تو ويندوز كار گذاشته شده و نمي ذاره از رم بيش از حد استفاده بشه . از يه طرف استاد هم گفته بايد برنامه رو تا شنبه براي اعداد 4و2 اجرا كنيم و زمان رو اندازه بگيريم .
هر كي مي دونه چه جوري مي شه اين محافظ رو برداشت يا روشي بلده كه مي شه تابع رو براي اعداد بالا محاسبه كرد ، لطفا تو اين تاپيك بنويسه . مر30.
اين هم كد تابع ackerman :
از استادم سئوال كردم . گفت مربوط به محافظي مي شه كه تو ويندوز كار گذاشته شده و نمي ذاره از رم بيش از حد استفاده بشه . از يه طرف استاد هم گفته بايد برنامه رو تا شنبه براي اعداد 4و2 اجرا كنيم و زمان رو اندازه بگيريم .
هر كي مي دونه چه جوري مي شه اين محافظ رو برداشت يا روشي بلده كه مي شه تابع رو براي اعداد بالا محاسبه كرد ، لطفا تو اين تاپيك بنويسه . مر30.
اين هم كد تابع ackerman :
//C++
int ackerman(int m, int n)
{
if (m == 0) return(n+1);
else if (n == 0) return(ackerman(m-1,1));
;(((;else return(ackerman(m-1,ackerman(m,n-1
}
int ackerman(int m, int n)
{
if (m == 0) return(n+1);
else if (n == 0) return(ackerman(m-1,1));
;(((;else return(ackerman(m-1,ackerman(m,n-1
}
Last edited: