用户:神秘人查看:1 回复:12 评论:1 创建时间:2016-05-26T16:57:32
士兵队列训练问题
Time Limit: 2000/1000 MS (Codemao) Memory Limit: 65536/32768 K (Codemao)
Total Submission(s): 2567 Accepted Submission(s): 1160
Problem Description
某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向前靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向前靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。
[挑战]
谁能用编程猫把这个算法做出来?
我已经做出来了,只有做出来的人才有资格加入我的战队!
做出来的喵QQ 3360272504,晚些时候我会公布答案!
#include <cstdio>
#include <iostream>
#include <fstream>
using namespace std;
namespace suanfa{
int fastnum(int aa,int bb){
int p=bb;
for (int i = 1; i <= bb; i++)
{
if (i%aa==0){
p--;
}
}
return p;
}
int mainp(int ple){
int a=ple,point=1;
while (a>3)
{
if (point%2==1)
{
a=fastnum(2,a);
}else{
a=fastnum(3,a);
}
point++;
}
return a;
}
}
int main(){
FILE* in=freopen("suanfa.in","r",stdin);
FILE* out=freopen("suafa.out","w",stdout);
int people;
cin>>people;
cout<<suanfa::mainp(people);
fclose(in);
fclose(out);
return 0;
}
公布答案:
点赞0
评论