牛客寒假算法基础集训营5 J 炫酷数学
链接:https://ac.nowcoder.com/acm/contest/331/J
来源:牛客网
小希最近想知道一个东西,就是A+B=A|B(其中|为按位或)的二元组有多少个。
当然,直接做这个式子对小希来说太难了,所以小希改变了一些条件,她仅想知道其中A,B<NA,B<N的情况,其中N为2的幂次。
当然,(A=1,B=0)和(A=0,B=1)被认为是不同的二元组。
思路:2^M次方共有M + 1位,从0开始计,到M位;
每位的选择有(0,0),(0,1),(1,0)
所以ans应该为3^M;
代码如下:
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 5 int main() 6 { 7 ll m,ans; 8 while(cin >> m) 9 { 10 ans = 1; 11 for(ll i = 0;i < m;i++) 12 { 13 ans = ans * 3; 14 ans = ans % 998244353; 15 } 16 cout << ans << endl; 17 } 18 return 0; 19 }