#import @interface PrimeFactorization : NSObject (NSArray *)getPrimeFactors:(int)number; @end
本文共 1000 字,大约阅读时间需要 3 分钟。
#import @interface PrimeFactorization : NSObject (NSArray *)getPrimeFactors:(int)number; @end
分解质因数是将一个整数分解为质数的乘积。以下是Objective-C实现分解质因数的完整代码示例。
以下是实现代码的详细解释:
getPrimeFactors:(int)number方法的实现过程:
-(NSArray *)getPrimeFactors:(int)number {NSArray *factors = [NSArray array]; // 处理2的特殊情况if (number % 2 == 0) { factors = [NSArray arrayWithObject:@2]; while (number % 2 == 0) { number /= 2; }}// 处理奇数情况for (int i = 3; i * i <= number; i += 2) { while (number % i == 0) { factors = [NSArray arrayWithObject:i]; number /= i; }}// 如果数仍然是质数if (number > 2) { factors = [NSArray arrayWithObject:number];}return factors; } int number = 60;NSArray *factors = [PrimeFactorization getPrimeFactors:number];for (id factor in factors) {NSLog(@"质因数为:%@", factor);} 通过上述方法,可以轻松实现对任意整数的质因数分解。该算法通过不断除以小于等于当前数平方根的质数来进行分解,确保效率较高。
转载地址:http://qcifk.baihongyu.com/