C语言:解决找老鼠问题

版权声明:根据《中华人民共和国著作权法》,如需转载请标明来源并联系作者进行授权。本文作者保留依法追究未经授权转载等侵犯作者著作权等的违法行为之权利。 https://blog.csdn.net/qq_41933331/article/details/79945825

题目来源:大工慕课 链接
作者:Caleb Sung

问题

现在有呈环形的十个老鼠洞,按顺时针方向排序分别是1~10号洞。现在从1号洞出发,走一个洞的距离到3号洞,再走两个洞的距离到5号洞,以此类推。总共这样走了一千次,在这个过程中始终没有看到老鼠,问那些洞里可能有老鼠?

参考代码

这里先设定所有洞属性为1,即有老鼠;接下来每走一步就把那个洞的值设为0,即没有老鼠。
不过题目没说第一个洞有没有老鼠,这里我默认它里面有老鼠:

#include<stdio.h>
int main()
{
    int hole[10], i, j, num;
    for(i=0;i<=9;i++)
        hole[i]=1;
    for(i=2,j=1;i<=1000;i++,j+=i)
    {
        num=j%10;
        hole[num]=0;
    }
    printf("可能有老鼠的洞有:\n");
    for(i=0;i<=9;i++)
        if (hole[i]==1)
            printf("%d号洞, ",i+1);
    printf("\b\b。");    
} 

输出结果

可能有老鼠的洞有:
1号洞, 3号洞, 6号洞, 8号洞。
阅读更多

扫码向博主提问

Caleb_Sung

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • 数据挖掘
  • 数据可视化
  • 机器学习
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页