A:打表找规律可得(k+1)*(1<<h),套用公式即可。
MY CODE:
#include <bits/stdc++.h> using namespace std; int main() { int h,k; cin>>h>>k; int ans=k+1; for(int i=1;i<=h;i++) ans*=2; cout<<ans; return 0; }
B:显而易见,其实就是要输出gcd(a,b),和N一点关系也没有。
MY CODE:
#include<bits/stdc++.h> using namespace std; int main() { long long a,b,n; cin>>a>>b>>n; cout<<__gcd(a,b); return 0; }
C:最开始以为是博弈论,但后来发现没有那么高深,我们可以先筛一下因子,之后不停的除上这个因子,只到除不尽为止,之后加上计数器最后判断一下是偶即可。
MY CODE:
#include <iostream> using namespace std; int main() { int n; cin>>n; int num=0; for(int i=2;i<=n;i++) { while(n%i==0) { n/=i; num++; } } if(num%2==0) cout<<"Johnson"; else cout<<"Nancy"; }
D:最小生成树模板题还带出模板的?
代码真的懒得给了。
E:只要加入此段代码即可,没啥可说的,啊
int sum=0; for(int i=1;i<=maxL;i++) if(cnt[i]) sum++; return sum;
好水啊