这是挑战;我想确保输入到UItextview中的数字是65535 [短]或更少。我可以将最高位数限制为
[NSCharacterSet characterSetWithCharactersInString:@" 123456"];
但我需要更聪明,因为下一个数字可以是任何数字,最多可达65;但我不能简单地使用NSCharacterSet或者我可以吗?
你有什么想法?
答案 0 :(得分:0)
好的,找到了各种各样的解决方案,结果很简单;我喜欢简单。使用此电话&这段代码。
void combinationComputer(int* temp, int* arr, int* data, int start, int end,
int index, int k, int* x, int* y, int count) {
int i;
if (index == k) {
if (count > k) {
*x = *x + k;
*y = *y + k;
}
for (i = *x; i < *y; i++)
temp[i] = data[i - *x]; // storing all combinations into temp[] as a
// single chunk, one combination at a time
return;
}
for (i = start; i <= end && end - i + 1 >= k - index; i++) {
data[index] = arr[i]; // each combination is stored in data[], with each
// subsequent combination overwriting the previous
// one.
count = count + 1;
combinationComputer(temp, arr, data, i + 1, end, index + 1, k, x, y,
count); // recursive call
}
}
没有给你65535,它只有65499;但是足够接近。当然,欢迎您提出更好的解决方案。变量&#34; minorMaxColumns&#34;也是由Editing Did Begin事件设置的。查看最后一位数字和第一位数字以及限制长度的解决方案的秘密。