问题标题: 酷町堂:4970   喵尔基里

0
1
已解决
许致远
许致远
中级守护
中级守护

题目是什么意思???

4970   喵尔基里  经验值:800

题目描述 Description

芬里尔喵在结束了奥丁的邪恶之后。打算组建自己的喵武神军队,喵尔基里们。芬里尔喵的武神不计其数,给他们从1开始依次往后编号。喵尔基里需要选择一批武神队长。芬里尔喵打算选择出编号中含有偶数个5的武神作为队长,请问这样的队长能有多少个。

输入描述 Input Description

一行,一个整数n,表示武神的最多编号有n位

输出描述 Output Description

一个整数,表示队长的数量,输出最后的答案对100007的求余后的结果

样例输入 Sample Input

5

样例输出 Sample Output

66383

数据范围及提示 Data Size & Hint

n<=20

怎么写

许致远在2021-03-28 17:19:18追加了内容


0
已采纳
崔竣恺
崔竣恺
中级守护
中级守护

给你两个重要的函数

int f(int n){

    if(n==1) return 8;

    return (f(n-1)*9+g(n-1))%----;

}

int g(int n){

    if(n==1) return 1;

    return (g(n-1)*9+f(n-1))%---;

}

main函数内遍历输出

for(int i~n){

        ans=(ans+f(i))%---;

   }

崔竣恺在2021-03-28 11:44:12追加了内容

要把mod定义一下:

#define mod 100007

0
蔡奕辰
蔡奕辰
高级守护
高级守护

定义 f(定义n){
    判断(n==1) 返回 8;
    返回 (f(n-1)*9+g(n-1))%100007;
}
定义 g(定义 n){
    判断(n==1) 返回 1;
    返回 (g(n-1)*9+f(n-1))%100007;
}

我要回答