1 条题解
-
1
这题还挺简单的,先判断怪物剩余血量是否是质数,如果是就直接击败,如果不是就先用普通攻击,魔法攻击留到最后终结怪物,这样是最快的。
#include <bits/stdc++.h> using namespace std; int isPrime(int x) { if (x < 2) return 0; for (int i = 2; i <= x - 1; i++) { if (x % i == 0) return false; } return true; } int main() { int n, m; cin >> n; int cnt = 0; for (int i = 1; i <= n; i++) { cin >> m; cnt = 0; while (m > 0) { if (isPrime(m)) { cnt++; m = 0; break; } cnt++; m -= pow(2, cnt - 1); } if (m == 0) cout << cnt << endl; else cout << "-1" << endl; } return 0; }给个赞吧!!!
- 1
信息
- ID
- 3311
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 47
- 已通过
- 9
- 上传者