题解
2025-04-07 12:15:25
发布于:江苏
26阅读
0回复
0点赞
开始时没有记录的点数,所以第一次出牌时只记录点数,不摸牌。从第二张牌开始,每次出牌时检查当前牌的点数是否是上一次记录点数的约数。如果当前牌的点数能整除上一次记录的点数,则摸一张牌,并更新记录的点数为当前牌的点数;否则,仅更新记录的点数。每次满足约数条件时,摸牌次数加一。
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<int> c(n);
for (int i = 0; i < n; ++i) {
cin >> c[i];
}if (n == 0) {
cout << 0 << endl;
return 0;
}
int a = c[0];
int b = 0;
for (int i = 1; i < n; i) {
if (a % c[i] == 0) {
b;
}
a = c[i];
}
cout << b << endl;
return 0;
}
这里空空如也
有帮助,赞一个