牛客练习赛101——B题 荒神在此

题目描述

给出一个数字 nnn ,求有多少个长度为 nnn 的序列 aaa (下标为 1∼n1\sim n1n )。
要求满足

  1. 对于所有  i∈[1,n] ,0≤ai≤i
  2. i=1i×ai  是一个奇数。

因为答案可能很大,所以你需要输出答案对 998244353 取模。

输入描述:

第一行给出一个正整数 n (1≤n≤107)

输出描述:

输出一行一个整数表示对 998244353 取模后的答案。
示例1

输入

2

输出

3

 

解题思路

数学思维:

可以发现,无论后面取什么,只要通过改变a1的值,都能满足要求
(n + 1)!
————————
2

AC代码(Java)

import java.util.*;

public class Main {
    /*
        可以发现,无论后面取什么,只要通过改变a1的值,都能满足要求
        (n + 1)!
        ————————
           2
    */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int MOD = 998244353;
        long res = 1;
        for (int i = 2; i <= n; i++) {
            res *= (i + 1);
            res %= MOD;
        }
        System.out.println(res);
    }
}

原题链接:https://ac.nowcoder.com/acm/contest/11247/B

posted @ 2022-06-25 17:25  没有你哪有我  阅读(163)  评论(0)    收藏  举报