Sha256: f614e8abbc8efeb9722ba49f58a12f0b366143e301b4e6735a622b734f8a5a02

Contents?: true

Size: 891 Bytes

Versions: 396

Compression:

Stored size: 891 Bytes

Contents

#import <Foundation/Foundation.h>
#import "PerfectNumbersExample.h"

@implementation NumberClassifier {
    NumberClassification _classification;
}

- (instancetype)initWithNumber:(int)number {
    if (self = [super init]) {
        int sum = [self sumForNumber:number];
        
        if (sum == number) {
            _classification = NumberClassificationPerfect;
        } else if (sum > number) {
            _classification = NumberClassificationAbundant;
        } else {
            _classification = NumberClassificationDeficient;
        }
    }
    
    return self;
}

- (int)sumForNumber:(int)number {
    int sum = 0;
    int factor = 1;
    
    while (factor < number) {
        if (number % factor == 0) {
            sum += factor;
        }
        
        factor++;
    }

    return sum;
}

- (NumberClassification)classification {
    return _classification;
}

@end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.179 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.178 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.177 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.176 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.175 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.174 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.173 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.172 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.171 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.170 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.169 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.167 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.166 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.165 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.164 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.163 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.162 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.161 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m
trackler-2.2.1.160 tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m