AtCoder Beginner Contest 100 の感想
AtCoder Beginner Contest 100
今回は記念すべき100回目のコンテストということで、いつも以上に頑張ろうと思いました。まあ、参加回数そんなに多くはないですが。
https://abc100.contest.atcoder.jp/assignments
A - Happy Birthday!
例題がかなりヒントになっていたと思います。
と の値が 以下であれば、ケーキを分けることができます。
B - Ringo's Favorite Numbers
のときに注意する問題です。
答えは、
- のとき のとき、
のとき、
- のとき
のとき、
のとき、
- のとき
のとき、
のとき、
になります。
C - *3 or /2
における の因数の数を数えます。
数列 の2の因数の数の合計を とします。
が答えとなります。
コード
import java.util.Scanner; public class ProblemC { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); long []a = new long[N]; for(int i = 0; i < N; i++) { a[i] = scan.nextLong(); } scan.close(); long p = 0; for(int i = 0; i < N; i++) { p += num2(a[i]); } if(p == 0) { System.out.println(0); }else { System.out.println(p - N); } } public static int num2(long n) { for(int i = 1; i < 10000; i++) { long t = (long)Math.pow(2, i); if(n % t != 0) { return i; } } return 0; } }
感想
サイトが全体的に重かったですが、あまり支障はありませんでした。
今回はC問題まで解くことができました。いつものC問題よりは易しかった気がします。ですが、D問題は全く分かりませんでした。