分数相加的例题

Posted i旅程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分数相加的例题相关的知识,希望对你有一定的参考价值。

方法为:a/b+c/d=( (a*d)+(b*c) )/(b*d) 
(1).h文件
#import <Foundation/Foundation.h>

 

@interface Fraction : NSObject  //fraction分数

 

@property int numerator,denominator;//denominator分母 numerator分子
-(void)print;
-(void)setTo:(int)n over :(int)d;
-(double) convertToNum;     //convertion转换
-(void)add:(Fraction *)f;
-(void)reduce;              //reduce减少

 

@end
(2).m文件
#import"Fraction.h"

 

@implementationFraction

 

@synthesizenumerator,denominator;
-(void)print
{
   NSLog(@"%i/%i",numerator,denominator);
}

 

-(double)convertToNum
{
   if(denominator!=0)
    {
       return(double)numerator/denominator;
    }
   else
       returnNAN;
}
-(void)setTo:(int)n over:(int)d
{
   numerator=n;
   denominator=d;
}

 

//添加Fraction到消息接受
-(void)add:(Fraction*)f
{
   //添加两个分数:                                             
   //a/b+c/d=((a*d)+(b*c))/(b*d)          //两个分数相加的另一种求法
   
   numerator=numerator* f.denominator+denominator* f.numerator;  //这里的*是乘的意思
   denominator=denominator* f.denominator;
}

 

-(void)reduce
{
   intu=numerator;
   intv=denominator;
   inttemp;
   
   while(v!=0) {
        temp=u%v;
        u=v;               //求最大公约数的方法
        v=temp;
    }
   numerator/=u;               这两步是化简分数
   denominator/=u;
}

 

@end

以上是关于分数相加的例题的主要内容,如果未能解决你的问题,请参考以下文章

基础例题

整数拆分为若干个2的幂数相加

正交试验最后有大K和小k,其中小k值怎么计算

求数列前n项和的方法

用JAVA线性表来编写“任意大的整数相加减”

十进制的分数如何转成二进制的?