UbuntuでObjective-C開発
って事でObjective-Cを書いてみた
元ネタはProjectEuler problem 10.
#import
#import
#import@interface ProjectEuler : Object
- (BOOL)isPrime : (int)n;
@end@implementation ProjectEuler
- (BOOL)isPrime : (int)n {
if (n < 2)
return NO;
if (n == 2)
return YES;
if (n % 2 == 0)
return NO;
int i = 3;
while (i * i <= n) {
if (n % i == 0)
return NO;
i += 2;
}
return YES;
}
@endint main() {
clock_t start, end;
start = clock();int i,cnt=0;
unsigned long sum=0;
id pe = [ProjectEuler alloc];
for (i=1;i<=1000000;++i) {
if ([pe isPrime:i]) {
++cnt;
sum += i;
//printf("%d is prime number.\nsum=%Ld\n", i, sum);
}
//printf("%d\n",i);
}
printf("count:%d\nsum:%Ld\n",cnt,sum);
end = clock();
printf("execute time: %fsec.\n", (double)(end - start) / CLOCKS_PER_SEC);
return 0;
}
あれだね、なんか普通にCじゃんこれって(笑)
違うのは
インターフェイス作って実装
idがポインタ
TRUE,FALSEがYES,NO (笑)
ってとこか
コンパイルのときにgcc 10.m -o 10ってやったらエラー出ちゃったので下記のコマンドにしたらうまくいった
shell> gcc 10.m -o 10 -l objc
調べたらPyobjcとかってのもあるみたい