基础题,注意 s 的值是当前分针的位置,每次都会变动。
#include <iostream>
using namespace std;
int main()
{
int s, d;
while (cin >> s >> d)
{
if (s == 0 && d == 0)
break;
int vis[60] = { 0 };
int total = 0;
while (s != 0 && vis[s] == 0)
{
vis[s] = 1;
s = (s + s * d) % 60;
++total;
}
if (s == 0)
cout << total << endl;
else
cout << "Impossible" << endl;
}
return 0;
}
继续加油。
本文探讨了一种基于分针位置变化的算法实现,通过循环更新分针位置并记录访问状态,最终确定分针返回起始位置前的独特位置总数。算法使用C++编程语言,涉及数组、循环和条件判断等基本编程概念。
&spm=1001.2101.3001.5002&articleId=105169427&d=1&t=3&u=9557203feaa942ceb11e12e49a471444)
208

被折叠的 条评论
为什么被折叠?



