Професионална програма
Loading...
+ Нов въпрос
g.antonov avatar g.antonov 20 Точки

[Homework] Other Types - Problem 2

Понеже си блъсках главата известно време с този проблем, давам малко подсказване на колегите:

В условието на Problem 2 се иска резултатът от деленето на дробите да има 27 знака след десетичния знак. За да получите такава точност, трябва да използвате метода Decimal.Divide() ;)

Тагове:
0
Fundamentals Module
mbencheva avatar mbencheva 52 Точки

Ще използвам темата, за да кажа и аз с какво си "блъсках главата":-)  и нямам решение ...

Прекалено математика, но се чудя...

Ако подадем втория аргумент на Fraction da e отрицателно чилсо(по условие е позволено), то после къде трябва да се появи - в числител или знаменател?

Например: 

Fraction fraction1 = new Fraction(22, -7);

Fraction fraction2 = new Fraction(40, 4);

Fraction result = fraction1 + fraction2;

Какво трябва да връща? числител - "-192", знаменател 28 или знаците трябва да са обърнати

0
Filkolev avatar Filkolev 4485 Точки

Прието е знакът винаги да е в числителя.

0
mbencheva avatar mbencheva 52 Точки

абсолютно съгласна! но при условие, че може да се подаде в знаменател се зачудих какво ние трябва да върнем:-)

0
07/12/2015 18:57:01
Filkolev avatar Filkolev 4485 Точки

В такъв случай някъде в логиката трябва да се премести знака, може би при сетване на знаменателя.

В тази задача друго, което мога да препоръчам, е да се нормализират дробите. Т.е. числителят и знаменателят да се разделят на най-големия им общ делител, за да не се пазят дроби тип 1000/2000, а да са 1/2 примерно.

0
naskoni avatar naskoni 68 Точки

В условието на Problem 2 се иска резултатът от деленето на дробите да има 27 знака след десетичния знак. За да получите такава точност, трябва да използвате метода Decimal.Divide() ;)

Другият вариант е каст - (decimal)this.Numerator / this.Denominator.

 

1