|
发表于 2020-4-24 23:09:28
|
显示全部楼层
本帖最后由 代号-K 于 2020-4-24 23:12 编辑
i = 10时 结果:8042614
提供个思路,可以用python 跑一下 
- void getInverseDigitSum(int start, int stop, int *sum){
- int i = start+1;
- int temp1, temp2;
- while(i <= stop){
- temp1 = (i+1) % 9;
- temp2 = (i+1) / 9;
- if(temp1 == 0){
- *sum += 9*(int)pow(10,temp2-1)-1;
- }else{
- *sum += temp1*(int)pow(10,temp2)-1;
- }
- i++;
- }
- }
- void getFibonacci(int flag, int *array){
- int a = 0;
- int b = 1;
- int c;
- int i = 2;
- array[0] = 0;
- array[1] = 1;
- while(i < flag){
- c = a;
- a = b;
- b = c + a;
- array[i++] = b;
- }
- }
- int main(int argc, char *argv[]){
- int answer = 1;
- int sum = 1;
- int array[100] = {0};
- getFibonacci(21, array);
- for(int i = 2; i < 10; i++){
- getInverseDigitSum(array[i],array[i+1],&answer);
- sum += answer;
- printf("%d\n",sum);
- }
- return 0;
- }
复制代码 |
|