「Cfz Round 1」Dead Cells
题目背景
Cidoai 上完生物课后,突发奇想出了这么一道题。
太水了……吧。Cidoai 说着把这道题送给了你,让你去发掘这道题的快乐。
题目描述
有一天,在第 0 0 0 个小时,一个细胞生成了,每过 a a a 小时,细胞的数量就变成当前的两倍,每过 b b b 小时,细胞的数量就变成当前的一半(向上取整)。
假如当前时间是 a a a 和 b b b 的公倍数,则细胞数量不变。问经过了 k k k 小时后,细胞个数为多少,答案对 998244353 998244353 998244353 取模。
输入格式
一行 3 3 3 个正整数,分别表示 a , b , k a,b,k a,b,k。
输出格式
一行一个整数,表示答案。
样例 #1
样例输入 #1
3 4 6
样例输出 #1
2
样例 #2
样例输入 #2
4 7 16
样例输出 #2
4
样例 #3
样例输入 #3
3 2 5
样例输出 #3
1
样例 #4
样例输入 #4
114 5141 919810
样例输出 #4
62166352
提示
【样例解释 #1】
第 1 ∼ 6 1 \sim 6 1∼6 小时的细胞的数量分别为 1 , 1 , 2 , 1 , 1 , 2 1,1,2,1,1,2 1,1,2,1,1,2。
【数据范围】
对于所有数据, 1 ≤ a , b , k ≤ 1 0 6 1 \le a,b,k \le 10^6 1≤a,b,k≤106。
本题采用捆绑测试。
子任务编号 | 分值 | k ≤ k \le k≤ | 特殊性质 |
---|---|---|---|
1 1 1 | 15 15 15 | 1 0 6 10^6 106 | 保证 a = b a=b a=b |
2 2 2 | 20 20 20 | 1 0 6 10^6 106 | 保证 a > b a\gt b a>b |
3 3 3 | 25 25 25 | 20 20 20 | 无 |
4 4 4 | 40 40 40 | 1 0 6 10^6 106 | 无 |
【提示】
a 2 ≡ a × 499122177 ( m o d 998244353 ) \dfrac{a}{2} \equiv a \times 499122177 \pmod {998244353} 2a≡a×499122177(mod998244353),即在对 998244353 998244353 998244353 取模的情况下,您可以用 a × 499122177 a \times 499122177 a×499122177 代替 a ÷ 2 a \div 2 a÷2。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容