翻牌游戏

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 04:20   11   0

编号为1-52张牌,开始时正面均向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的 直到以52为基数的翻过,输出:这时正面向上的牌有哪些?

代码如下:

#include "stdio.h"
int main()
{
 int pai[53]={0};//0为上 1为下
 int i,k;
 for(i=2;i<=52;i++)
 {
  k=i;
  while( k <= 52)
   if(k++%i)
    pai[k-1]^=1;
 }
 for(i=1;i<=52;i++)
  if(!pai[i])
   printf("%d ",i);
 return 0;
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP