13152137996


私信TA

用户名:13152137996

访问量:154

签 名:

等  级
排  名 31397
经  验 444
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:由题意,列表:

n2345678910
sum112233445

可列递推公式:

sum(n) = 1+sum(n-1);
注意事项:

这里得到的递推公式和其它方法(取整求余)相比,正确性似乎没法确切保证,但是计算结果不会出错,而且递推式简单了好多哇,我还没想明白这是哪来的规律,求聪明的脑袋们指正。

参考代码:

#include<fstream>

#include<iostream>

using namespace std;

int count(int n) {

int ans = 0;

if (n <= 1)

return 0;

if (n == 2 || n == 3) 

return 1;

else

ans += 1 + count(n - 2);

return ans;

}


int main() {

int a[10], i = 0, j = 0;

while(1){

cin >> a[i++];

if (a[i-1]==0 || i == 10)

break;

}

while (a[j] != 0 && j< 10) {

cout << count(a[j++]) << endl;

}

return 0;


}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区