资源简介
Fraction类使用属性的方法,实现了分数的约分,打印,加法,减法,乘法,除法四则运算
代码片段和文件信息
//
// Fraction.m
// NewFraction
//
// Created by dllo on 15/10/15.
// Copyright (c) 2015年 ZKJ. All rights reserved.
//
#import “Fraction.h“
@implementation Fraction
/**
* 自定义初始化
*
* @param numerator 分子
* @param denominator 分母
*
* @return 分数对象
*/
- (instancetype)initWithNumerator:(NSInteger)numerator withDenominator:(NSInteger)denominator {
self = [super init];
if (self) {
_numerator = numerator;
_denominator = denominator;
}
return self;
}
/**
* 便利构造器
*
* @param numerator 分子
* @param denominator 分母
*
* @return 分数类
*/
+ (instancetype)fractionWithNumerator:(NSInteger)numerator withDenominator:(NSInteger)denominator {
Fraction *fraction = [[Fraction alloc] initWithNumerator:numerator withDenominator:denominator];
return fraction;
}
/**
* 打印分数方法
*/
- (void)print {
NSLog(@“%ld/%ld“ _numerator _denominator);
}
/**
* 约分
*/
- (void)reduce {
//对分子是负数的情况进行考虑
NSInteger numerator = _numerator > 0 ? _numerator : -_numerator;
NSInteger denominator = _denominator;
NSInteger gcd;
// 辗转相除法得最大公约数,考虑分子是0的情况
if (_numerator == 0) {
return;
} else {
while (numerator) {
gcd = denominator % numerator;
denominator = numerator;
numerator = gcd;
}
gcd = denominator;
_numerator /= gcd;
_denominator /= gcd;
}
}
/**
* 分数加法运算
*
* @param antherFraction 传进来的对象
*
* @return 分数对象
*/
- (Fraction *)addFraction:(Fraction *)antherFraction {
Fraction *result = [Fraction fractionWithNumerator:_numerator * antherFraction.denominator + _denominator * antherFraction.numerator withDenominator:_denominator * antherFraction.denominator];
[result reduce];
return result;
}
/**
* 减法运算
*
* @param antherFraction 减数
*
* @return 分数对象
*/
- (Fraction *)subFraction:(Fraction *)antherFraction {
Fraction *result = [Fraction fractionWithNumerator:_numerator * antherFraction.denominator - _denominator * antherFraction.numerator withDenominator:_denominator * antherFraction.denominator];
[result reduce];
return result;
}
/**
* 乘法
*
* @param antherFraction 乘数
*
* @return 分数对象
*/
- (Fraction *)mulFraction:(Fraction *)antherFraction {
Fraction *result = [Fraction fractionWithNumerator:_numerator * antherFraction.numerator withDenominator:_denominator * antherFraction.denominator];
[result reduce];
return result;
}
/**
* 除法
*
* @param antherFraction 除数
*
* @return 分数对象
*/
- (Fraction *)divFraction:(Fraction *)antherFraction {
// 考虑除数为0的情况,提示出错,并且返回调用对象本身
if (antherFraction.numerator == 0) {
NSLog(@“除数不能为0“);
return self;
}
Fraction *result = [Fraction fractionWithNumerator:_numerator * antherFraction.denominator withDenominator:_denominator * antherFraction.numerator];
[result reduce];
return result;
}
@end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-10-15 19:33 Fraction\
目录 0 2015-10-15 19:40 Fraction\.git\
目录 0 2015-10-15 19:33 Fraction\.git\branches\
文件 15 2015-10-15 19:33 Fraction\.git\COMMIT_EDITMSG
文件 137 2015-10-15 19:33 Fraction\.git\config
文件 73 2015-10-15 19:33 Fraction\.git\desc
文件 23 2015-10-15 19:33 Fraction\.git\HEAD
目录 0 2015-10-15 19:33 Fraction\.git\hooks\
文件 452 2015-10-15 19:33 Fraction\.git\hooks\applypatch-msg.sample
文件 896 2015-10-15 19:33 Fraction\.git\hooks\commit-msg.sample
文件 189 2015-10-15 19:33 Fraction\.git\hooks\post-update.sample
文件 398 2015-10-15 19:33 Fraction\.git\hooks\pre-applypatch.sample
文件 1642 2015-10-15 19:33 Fraction\.git\hooks\pre-commit.sample
文件 1348 2015-10-15 19:33 Fraction\.git\hooks\pre-push.sample
文件 4951 2015-10-15 19:33 Fraction\.git\hooks\pre-reba
文件 1239 2015-10-15 19:33 Fraction\.git\hooks\prepare-commit-msg.sample
文件 3611 2015-10-15 19:33 Fraction\.git\hooks\update.sample
文件 635 2015-10-15 19:33 Fraction\.git\index
目录 0 2015-10-15 19:33 Fraction\.git\info\
文件 40 2015-10-15 19:33 Fraction\.git\info\exclude
目录 0 2015-10-15 19:40 __MACOSX\
目录 0 2015-10-15 19:40 __MACOSX\Fraction\
目录 0 2015-10-15 19:40 __MACOSX\Fraction\.git\
目录 0 2015-10-15 19:40 __MACOSX\Fraction\.git\info\
文件 171 2015-10-15 19:33 __MACOSX\Fraction\.git\info\._exclude
目录 0 2015-10-15 19:33 Fraction\.git\logs\
文件 173 2015-10-15 19:33 Fraction\.git\logs\HEAD
目录 0 2015-10-15 19:33 Fraction\.git\logs\refs\
目录 0 2015-10-15 19:33 Fraction\.git\logs\refs\heads\
文件 173 2015-10-15 19:33 Fraction\.git\logs\refs\heads\master
目录 0 2015-10-15 19:33 Fraction\.git\ob
............此处省略46个文件信息
相关资源
- 设计一个表示分数的类Fraction。这个类
- 电力规约分析软件pma工具
- Geometrical Theory of Diffraction
- 英文原版-Fractional Programming Theory Met
-
ob
ject-c编程之道pdf+源码(适合进阶 - Fractional-Order Nonlinear Systems
- IEC101-103-104规约分析程序
- PMA规约分析软件
-
ob
jective-c UI简易计算器 源代码+详细 - On Nonlinear Fractional Programming
- Digital Computation of the Fractional Fourier
- continued fraction
- FractionalPLLDesignr00.rar
- 易语言约分算法源码
- Intermediate processes critical phenomena: the
- Modified projective synchronization of fractio
- Oscillation for Fractional Differential Equati
- Structural properties of In-doped ZnO thin fil
- Bifurcation analysis in a delayed fractional C
评论
共有 条评论