题目描述
给定一个n,直接写出有第一根柱子上有 n 个圆盘时需要移动的次数,由于答案可能会比较大,你需要在将答案对10086取模。
输出格式
直接在下面的输入框中输出每个测试点的答案。
样例
输入样例复制
1
输出样例复制
1
输入样例复制
2
输出样例复制
3
数据范围与提示
对于所有的n,1≤n≤10000.
这道题很简单,只要用递归就行了
程序如下:
#include <iostream>
using namespace std;
int SBSB(int n){
if(n==1) return 1;
else{
return (2*SBSB(n-1)+1)%10086;
}
}
int main()
{
int n;
cin>>n;
cout<<SBSB(n);
return 0;
}
up主在这里发起一个疑问,我老师说如果在做这道题时用公式2的n次方-1是有误差的,有谁知道在几开始会有误差呢,有哪位大神帮忙解答一下?