نوشته شده توسط
qwerty11
سلام دوست عزیز
1- تجربه نشون داده یه همچین تاپیکهایی بعد از یه مدتی نه چندان طولانی به خاک خوردن میفته ! احتمالاً بعد از یه مدتی هم خود شما بهش سر نمیزنی :-/
2- برنامه ای که عدد دو به توان 1000 رو محاسبه میکنه هم :
int a[1000]={1,0};
for(int c=0;c<1000;C++){
int carry=0,i=0;
while(a[i] || carry){
int m = carry + a[i]*2;
carry = m/10;
a[i] = m%10;
i++;
}
}
int len=999;
for(;a[len]==0;len--);
for(;len>=0;len--)
cout<<a[i];
اگر بازم سوالی بود در خدمتم :)
با سلام و تشکر از شما دوست گرامی من هم معتقدم که شما الگوریتم این کد و همینطور کامنتهای توضیحی رو هم بیان بفرمایید چون من کلا از منطق ریاضی که بکار رفته سر در نیاوردم
در ضمن برنامه مشکلات داره یکی این که متغیر های i و carry داخل حلقه تعریف شده اند که این باگ خطر داره
دوم این که متغیر i که در داخل بلوک تعریف شده در آخر برنامه خارج از بلوک استفاده شده که منطقی نیست.
منتظر توضیحات کامل شما هستم
شاد باشید