نمایش نتایج 1 تا 10 از 10

نام تاپیک: احتیاج به الگوریتم تبدیل اعداد به مبنای دو

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    سلام
    ایضا به این روش هم می شه بدون نیاز به برگردوندن:

    #include<stdio.h>
    int main()
    {
    int n,m=0,q=0;
    long int s=0,l=1;
    printf("\nEnter decimal number");
    scanf("%d",&n);
    do
    {
    q=n/2;
    m=n%2;
    s+=l*m;
    n=q;
    l=l*10;
    }
    while(n>1);
    s=s+n*l;
    printf("%ld",s);
    }

    باقیمانده ی اول رو در یک ضرب می کنیم دومی را در 10 سومی در 100 و .... و مقادیر را به یک متغیر مانند s اضافه می کنیم.
    البته این روش اشکالاتی هم داره:
    برای اعداد بزرگ به انواع عددی بزرگ نیاز هست.با int اعداد تا 31 ، با long int اعداد تا 1023 و با double اعداد تا 32767 قابل تبدیل اند.
    بیا ای خسته خاطر دوست ! ای مانند من دلکنده و غمگین
    من اینجا بس دلم تنگ است
    بیا ره توشه برداریم
    قدم در راه بی فرجام بگذاریم


  2. #2
    سلام
    آقا این خط برای چی است (s+=l*m)
    شما یک بار تو حلقه مقدار s را بدست اوردی پس s خارج حلقه برای چی است ؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •