题目描述
小C在山上发现了n个山洞组成的寻宝游戏,这些洞均匀的排成一圈,游戏的规则是,小C从第1个洞开始查找,然后顺时针每隔m个洞查找下一个山洞,可是这样的话有些山洞就可能永远都查找不到。比如:n =6,m=3有下面图形的1号到6号山洞,小C开始查找1号山洞,然后隔3个查找5号山洞,隔3个查找3号山洞、再隔3个查找1号山洞,隔3个查找5号山洞……
因此,只能查找到1号、3号和5号山洞,而2号、4号、6号永远查找不到。现在要求你编写程序,把可以查看到的山洞用红色(1号颜色)实心圆表示出来。例如:n=6,m=3时,结果如下:
输入格式
第一行2个整数n,m;(2<=m<n<=20)
输出格式
正确的图形。
输入/输出例子1
输入:
5 3
输出:

输入/输出例子2
输入:
18 5
输出:

参考答案
int main(){
int n,m,a[100];
cin >> n >> m;
for(int i=1;i<=n;i++)
a[i]=0;
int cc=1;
for(int i=1;i<=n;i++)
{
a[cc]=1;
cc=cc+m+1;
if(cc > n)
cc=cc-n;
}
for(int i=1;i<=n;i++)
{
p.up().fd(200).down();
if(a[i] != 1) p.o(30);
if(a[i] == 1) p.oo(30,1);
p.up().bk(200).down();
p.rt(360.0/n);
}
return 0;
}
题目链接:
https://v1.51goc.com/question/viewProgram/631
(进去后要登录)



280

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



