-(NSString *)bidnumbstring:(NSString*)a multibyaBignumString:(NSString*)b{
if (a.length==0 || b.length==0) {
return @"0";
}
NSMutableArray *result = [NSMutableArray arrayWithCapacity:a.length+ b.length];
NSMutableArray *n1 = [NSMutableArray arrayWithCapacity:a.length];
NSMutableArray *n2 = [NSMutableArray arrayWithCapacity:b.length];
//把char转换成int数组。
for (int i =0; i < a.length; i++){
NSString *abb = [a substringWithRange:NSMakeRange(i,1)];
n1[i] = @([abb intValue]);
}
for (int i =0; i < b.length; i++){
NSString *bcc = [b substringWithRange:NSMakeRange(i,1)];
n2[i] = @([bcc intValue]);
}
for (int i = 0; i< a.length; i++) {
for (int j = 0; j< b.length; j++) {
result[i+j] =@( [n1[i] intValue] *[ n2[j] intValue]);
}
}
for (int i = result.count- 1; i > 0; i--) {
result[i-1] = @( [result[i-1] intValue] + [result[i] intValue] /10);
result[i] = @( [result[i] intValue] % 10);
}
NSString* resultStr = @"";
for (int i = 0; i < result.count - 1; i++) {
resultStr = [NSString stringWithFormat:@"%@%@",resultStr,result[i]];
}
return resultStr;
return @"";
}
网友评论