Last active
January 13, 2020 15:29
-
-
Save keisukeYamagishi/7305137 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// calc.h | |
// test | |
// | |
// Created by tomyAmi on 2013/10/12. | |
// Copyright (c) 2013年 keisuke yamagishi. All rights reserved. | |
// | |
#import <Foundation/Foundation.h> | |
@interface calc : NSObject | |
-(void)calc:(NSArray*)A calcB:(NSArray*)B; | |
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// calc.m | |
// test | |
// | |
// Created by tomyAmi on 2013/10/12. | |
// Copyright (c) 2013年 keisuke yamagishi. All rights reserved. | |
// | |
#import "calc.h" | |
@implementation calc | |
-(void)calc:(NSArray*)A calcB:(NSArray*)B{ | |
BOOL calcCheck;//条件を満たしてるかどうかの確認 | |
BOOL calcCheckB; | |
calcCheck=NO; | |
calcCheck=NO; | |
static unsigned long count=0;//配列の要素数 | |
NSNumber *one=@1; | |
NSNumber *bill=@4000000000; | |
for(NSNumber *checkA in A){ | |
count++; | |
if(checkA>=one&&checkA<bill&&count<=1000000){ | |
calcCheck=YES; | |
}else{ | |
calcCheck=NO; | |
} | |
} | |
count=0; | |
for(NSNumber *checkB in B){ | |
count++; | |
if(checkB>=one&&checkB<bill&&count<=1000){ | |
calcCheckB=YES; | |
}else{ | |
calcCheck=NO; | |
} | |
} | |
if(calcCheck==YES&&calcCheckB==YES){ | |
//NSNumber *bill=@4000000000; | |
static int answer=0; | |
static int AC=0;//配列Aに入ってる同じ数字をカウント | |
static int BC=0;//同文 | |
static NSNumber *points;//合計得点 | |
static int sum=0;//A配列の要素数 | |
static int Bsum=0;//B配列の要素数 | |
static NSNumber *AN;//A配列の同じ数字 | |
static NSNumber *BN;//B配列の同じ数字 | |
A=[A sortedArrayUsingSelector:@selector(compare:)];//A配列をソート | |
B=[B sortedArrayUsingSelector:@selector(compare:)];//B配列をソート | |
//結果表示 | |
NSLog(@"A%@",A); | |
NSLog(@"B%@",B); | |
do{//精査開始 | |
for(int i=0;i<[A count];i++){//A配列の同じ数字を書き出す | |
if(A[sum]==A[i]){ | |
AC++; | |
AN=A[i]; | |
NSLog(@"AN==>%@***for*** AC===>%d A[]==>%@",AN,AC,A[sum]); | |
} | |
} | |
for(int i=0;i<[B count];i++){//B配列の同じ数字を書き出す | |
if(B[Bsum]==B[i]){ | |
BC++; | |
BN=B[i]; | |
NSLog(@"BN ==>%@ ***for*** BC==>%d B[]==>%@",BN,BC,B[Bsum]); | |
} | |
} | |
if(AN==BN){//書き出した数字同士が同じかどうかチェック! | |
int point=AC*BC;//同じ数字の数同士掛ける | |
printf("\n****AN==BN**** point(%d)=AC(%d)*BC(%d)\n",point,AC,BC);//表示する | |
answer=point+answer;//同じ数字同士をかけた数字を足す | |
//printf("\nanswer(%d)+point(%d)",answer,point); | |
points=[[NSNumber alloc]initWithInt:answer];//それをNSNumberにする | |
printf("\n中間答えpoint==>%d\n",answer); | |
}else if(AN!=BN){//書き出した数字が同じじゃなかった場合の処理 | |
if(AC==1&&AN<BN){ | |
BC=0; | |
}else if(AC==1&&AN>BN){ | |
AC=0; | |
}else if(BC==1&&AN>BN){ | |
AC=0; | |
}else if(BC==1&&AN<BN){ | |
BC=0; | |
}else if(AC>1&&AN<BN){ | |
BC=0; | |
}else if(AC>1&&AN>BN){ | |
AC=0; | |
} | |
} | |
sum=sum+AC;//同じ数字を書き出さないようにカウントした分を足しておく | |
Bsum=Bsum+BC;//同意義 | |
printf("\nsum==>%d Bsum===>%d\n",sum,Bsum);//確認のため値を出す | |
AC=0;//初期化 | |
BC=0;//初期化 | |
}while(sum!=[A count]&&Bsum!=[B count]);//配列の中身がなくなるまで続ける | |
NSLog(@"アンサーpoint==>%@",points); | |
//return points; | |
}else if(calcCheck==NO){ | |
} | |
} | |
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// main.m | |
// test | |
// | |
// Created by tomyAmi on 2013/10/10. | |
// Copyright (c) 2013年 keisuke yamagishi. All rights reserved. | |
// | |
#import <Foundation/Foundation.h> | |
#import "calc.h" | |
#import "voidvoid.h" | |
int main(int argc, const char * argv[]) | |
{ | |
NSArray *A=@[@1,@1,@2,@4,@6,@7,@9,@9,@34,@21,@21,@6,@7,@7,@23,@6,@5,@5,@6,@32,@23,@42,@21,@21,@32,@23,@21,@21,@21,@76,@456,@31,@21,@21,@21,@23,@56,@34,@21,@12,@12,@31,@12,@45,@23,@25,@24,@24,@21,@43,@21,@43,@23,@21,@23,@13,@12,@3999999999,@23,@34,@34,@12,@24]; | |
NSArray *B=@[@1,@1,@2,@2,@2,@4,@7,@6,@9,@32,@32,@21,@34,@456,@34,@23,@21,@65,@76,@65,@42,@42,@456,@456,@12,@45,@23,@25,@24,@24,@21,@21,@54,@32,@21,@31,@32,@33,@43,@34,@35,@36,@37,@37,@38,@39,@40,@41,@3999999999]; | |
calc *cObj=[calc new]; | |
[cObj calc:A calcB:B]; | |
dispatch_queue_t queue=dispatch_queue_create("jp.frenweh", nil); | |
for(int i=0;i<=10;i++){ | |
dispatch_async(queue,^{ | |
NSLog(@"まじっすかTV! %d",i); | |
}); | |
} | |
NSLog(@"****"); | |
//voidvoid *voidman=[[voidvoid alloc]init]; | |
//[voidman month]; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment