
注解
1、暴力模拟,从题目给定的数目减一开始枚举人数,直到人数只有1人为止。最先找到的满足题目要求的人数,就是答案。
代码
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
while(n!=-1){
int flag = 0;
for(int i=n-1; i>0; i--){
int m = n;
int cnt = 0;
while(cnt<i){
if(m%i==1){
m = m-1-(m-1)/i;
cnt++;
}
else{
break;
}
}
if(cnt==i){
flag = i;
break;
}
}
if(flag){
cout<<n<<" coconuts, "<<flag<<" people and 1 monkey"<<endl;
}
else{
cout<<n<<" coconuts, no solution"<<endl;
}
cin>>n;
}
return 0;
}
结果

本文介绍了一种通过暴力模拟解决特定问题的算法。该算法从题目给定的数目减一进行枚举,直到人数只剩一人为止,寻找满足题目要求的人数。使用C++实现,通过循环判断条件来找到符合条件的人数。
357

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



