سلام
دوستان کسی میتونه راهنمایی کنه چطور میشه یه حلقه با تعداد تکرار 94^94 ایجاد بشه؟؟؟
سلام
دوستان کسی میتونه راهنمایی کنه چطور میشه یه حلقه با تعداد تکرار 94^94 ایجاد بشه؟؟؟
اصلا این حلقه به پایان میرسه؟ واسه چه کاری میخواید؟شاید راه بهتری بشه بهتون گفت
اخه چرااااا این حلقه باید اجرا بشه ؟ ! !
هدف چیه؟
اگر مساله embarrassingly parallel باشه میشه از CUDA یا OpenCL استفاده کرد.
تکنولوژی های دیگه هم هستن که میتونن از چیزی که دات نت ارائه میکنه بهتر باشن.
LLVM, AVX, SSE
البته توجه داشته باشید که این تعداد یا حتی جذر این تعداد هم با این تکنولوژی ها غیر ممکن هست.
فکر میکنم شما میخواهید AES-256 رو بشکنید.باید بگم نمیتونید.
آخرین ویرایش به وسیله FastCode : چهارشنبه 28 فروردین 1392 در 23:50 عصر
سلام.
خب بزارید منم یه حساب کتاب سر انگشتی بکنم!
2.9786415160527156567152269188849e+185 = 94^94
اگر در هر ثانیه 100 تریلیون دور حلقه اجرا بشه! داریم:
2.9786415160527156567152269188849e+171 ثانیه زمان برای اجرای کامل.
که اگر هر سال رو 1000 روز در نظر بگیریم! برابر است با:
3.4475017546906431211981793042649e+163 سال
پس این یعنی همون حلقه بی نهایت:
while(true){ /* دستورات */ }
آخرین ویرایش به وسیله Hajivandian : پنج شنبه 29 فروردین 1392 در 10:05 صبح دلیل: FastCode
80186 ؟اگر در هر ثانیه 1 میلیون دور حلقه اجرا بشه! داریم:
اگر اشتباه حساب نکرده باشم سیستم من الان نزدیک ۷۰۰ میلیون تا در ثانیه اجرا میکنه.~=400GigaFlops
http://en.wikipedia.org/wiki/TOP500
این لیست هم ۶ رقم از سیستم من و شما قویتره
شما به من بگو چرا نباید اجرا بشه؟
فقط حلقه ها نیستن که نیاز به تکرار دارن.
من روزی چندین بار از خودم سوالی رو که از بچگی به ذهنم رسید و هنوز جوابی براش نگرفتم رو تکرار میکنم.
بدی (یا خوبی) آدم های سمج و سیریش همینه.
سوال رو اونقدر تکرار میکنن تا صورت سوال رو اونطوری که باید فهمیده بشه بفهمن.
چون به نظر من جواب تمام سوالات در فهمیدن صورت سوالات هست.
حلقه بیچاره چه زجری میکشه از اینکه به جواب نمیرسه!.
سلام
با استفاده از Parallel.For اجازه اجرای موازی رو به کدتون بدید:
using System.Threading.Tasks;
class Test
{
static int N = 1000;
static void TestMethod()
{
// Using a named method.
Parallel.For(0, N, Method2);
// Using an anonymous method.
Parallel.For(0, N, delegate(int i)
{
// Do Work.
});
// Using a lambda expression.
Parallel.For(0, N, i =>
{
// Do Work.
});
}
static void Method2(int i)
{
// Do work.
}
}
و برای 94^94 مثل اینکه باید چند Parallel.For پشت سر هم بنویسی.
یه سوال فنی؟ 94^94 مگه نمیشه عدد 94 رو 94 بار در خودش ضرب کنی!!!!!!!!!
پس این حلقه باید 94 بار بچرخه. و فقط هوای دیتا تایپ جواب آخر رو باید داشت.
دوستان دقت کردین همه باهم دارین اینجا باهم بحث و گفتگو میکنید اما خود آقای reza1371 که این سوالو پرسیده هیچ جوابی نمیده
یه جورایی فکر کنم هممونو سرکار گذاشته
بچه ها تا reza1371 نگه این حلقه برای چیه جواب ندینا .
اصلا کاربرد حلقه برای چه برنامه ایست