题解 | #查找输入整数二进制中1的个数(多行)#
查找输入整数二进制中1的个数
https://www.nowcoder.com/practice/1b46eb4cf3fa49b9965ac3c2c1caf5ad
#import <Foundation/Foundation.h>
int main(int argc, char* argv[]) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
char inputNum[10000];
NSInteger lineNum = 0;
NSMutableArray* array = [NSMutableArray array];
while (fgets(inputNum, sizeof(inputNum), stdin) != NULL && lineNum <= 1000) {
inputNum[strcspn(inputNum, "\n")] = '\0';
[array addObject:[NSString stringWithFormat:@"%s", inputNum]];
lineNum ++;
}
NSMutableArray* resultArray = [NSMutableArray array];
for (int i = 0; i < array.count; i++) {
NSInteger count = 0;
int number = [[array objectAtIndex:i] intValue];
while (number) {
if (number & 1) {
count ++;
}
number >>= 1;
}
[resultArray addObject:[NSString stringWithFormat:@"%d", count]];
}
for (int i = 0; i < resultArray.count; i++) {
printf("%@\n", [resultArray objectAtIndex:i]);
}
[pool drain];
return 0;
}
