primes/primes.m

69 lines
944 B
Objective-C

// Objective C version of a Prime Number Finder
// haplo@mindstab.net
#include <objc/Object.h>
#include <stdio.h>
#include "math.h"
@interface Primes
{
}
- (void)print:(unsigned int)MAX;
+ (id)alloc;
- (id)init;
@end
@implementation Primes
+ (id)alloc
{
return self;
}
- (id)init
{
return self;
}
- (void)print:(unsigned int)MAX
{
unsigned int cnt, test, i;
char isPrime;
for( cnt = 3; cnt <= MAX; cnt +=2)
{
test = (unsigned int)sqrt(cnt);
isPrime = 1;
for(i=3; i<= test; i+=2)
{
if( !(cnt%i))
{
isPrime=0;
break;
}
}
if(isPrime) {
printf("%d\n", cnt);
}
}
}
@end
int main(int argc, char **argv)
{
unsigned int max;
Primes *primes;
if(argc <= 1) {
printf("Useage: primesobjc [Max Num]\n");
return(1);
}
max = atoi(argv[1]);
if(max<1) {
printf("Invalid Max Num\n");
return(1);
}
printf("allocing\n");
primes = [[Primes alloc] init];
printf("calling\n");
[primes print:max];
}