生成するコードをいくつか作成しました
-(NSArray *)generateNumbersFromBeginning:(int)begin toEnd:(int)end withCount:(int)count
{
NSMutableArray * genNumbers=[NSMutableArray new];
double sqBegin=1.0; //our beginning generator
double sqEnd =sqrt((double)(end-begin)); // last element to produce
double step = (sqEnd-sqBegin)/((double)count);//
double power=1.0;
NSLog(@"%f %f %f",sqBegin,sqEnd,step);
for (int a= 0; a<count; a++) {
sqBegin+=step;
power += 1.0/(double)count;
int genNumber=(int)(pow(sqBegin, power));
genNumber+=begin;
[genNumbers addObject:[NSNumber numberWithInt:genNumber]];
}
NSLog(@"numbers are: %@ ",genNumbers);
return genNumbers;
}
使用法は([a、b]、x)です。ここで、aは始点、bは終点、xはその範囲で生成されたintの数です。
例えば:
[self generateNumbersFromBeginning:9000 toEnd:10000 withCount:36];
この呼び出しの結果は次のとおりです。
numbers are: (
9001,
9002,
9003,
9005,
9006,
9008,
9010,
9012,
9014,
9017,
9021,
9025,
9029,
9034,
9041,
9048,
9056,
9065,
9076,
9089,
9104,
9121,
9141,
9165,
9192,
9223,
9259,
9301,
9350,
9407,
9473,
9549,
9638,
9741,
9860,
9999
)