問題はこちら
No.192 合成数 - yukicoder
2でない2の倍数は合成数なのでNが偶数ならそれを、奇数ならN-1を出力すれば良い
int main(){ int n; scanf("%d",&n); printf("%d",n/2*2); return 0; }
これはNの最下位bitを0にすることと等しいので、N&-2と書けることをつかって短縮
a;main(){a=!printf("%d",atoi(gets(&a))&-2);}
44B
問題はこちら
No.192 合成数 - yukicoder
2でない2の倍数は合成数なのでNが偶数ならそれを、奇数ならN-1を出力すれば良い
int main(){ int n; scanf("%d",&n); printf("%d",n/2*2); return 0; }
これはNの最下位bitを0にすることと等しいので、N&-2と書けることをつかって短縮
a;main(){a=!printf("%d",atoi(gets(&a))&-2);}
44B