2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Цепная дробь
Сообщение17.04.2014, 19:33 
разложить дробь на цепную дробь, например 1071 делим на 462, при разложении учитываем значения отличные от 1, и записываем(метод Евклида) получим 2 3 7
но в моем коде не пойму где ошибка выводит 2 3 6
но если взять другую дробь например 105 на 38 получаем 2 1 3 4 2, как и должно быть
Код:
#include<stdio.h>
#include<math.h>
#include <conio.h>

void evklid(int a, int b)
{ int i=0,j=0,c=0;
   while (a!=b)
     { if (a>b)
        { c=a;
        a-=b;
        i+=1;
        if (a<=b)
         { if (a==1)
            { j+=1;
              printf("\nq%d= %d",j,c);
            }
          else
           { j+=1;
             printf("\nq%d= %d",j,i);
           }
           i=0;
         }
      }
       
       else
        { c=b;
        b-=a;
        i+=1;
        if (b<=a)
         { if (b==1)
            { j+=1;
              printf("\nq%d= %d",j,c);
            }
          else
          { j+=1;
            printf("\nq%d= %d",j,i);
          }
           i=0;
         }
      }
     }

}

int main()
{ int a,b;
   scanf("%d", &a);
   scanf("%d", &b);
   evklid(a,b);
   getch();
   return 0;
}

 
 
 
 Re: Цепная дробь
Сообщение18.04.2014, 10:58 
У Вас формулы неверные.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group