标题:! 纸牌游戏 ! 谁帮我分析下思路。?
只看楼主
bqgq
Rank: 1
等 级:新手上路
帖 子:14
专家分:2
注 册:2009-9-27
结帖率:50%
已结贴  问题点数:20 回复次数:4 
! 纸牌游戏 ! 谁帮我分析下思路。?
碰到这题,感觉无从下手哎。

   编号为1-n张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…...再依次4的,5的,6的直到以52为基数的翻过.


要求输出所有正面向上的牌.
搜索更多相关主题的帖子: 思路 纸牌游戏 
2010-01-20 13:55
bqgq
Rank: 1
等 级:新手上路
帖 子:14
专家分:2
注 册:2009-9-27
得分:0 
  如果说, 翻一次,用当前数%基数==0来标记, 那不是要一直比到52 ?  
 
     用得着写那么长,?
2010-01-20 22:27
hui_30
Rank: 2
等 级:论坛游民
帖 子:38
专家分:58
注 册:2010-1-4
得分:10 
不用写这么长,你可以试着用递归做!
2010-01-21 11:05
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
得分:10 
你可以用数组啊,例如声明一个53的数组,然后统计每个元素索引是2到它本身多少个数的倍数,再输出个数为2的倍数的元素索引不就行了
2010-01-22 13:04
韦春敢
Rank: 3Rank: 3
来 自:广西
等 级:论坛游侠
帖 子:91
专家分:142
注 册:2010-1-25
得分:0 
用C语言写了,给大家看看
#include<stdio.h>
void main()
{int i,j,card[100],n;
printf("please enter the cards:");
scanf("%d",&n);
/*初始化数据组*/
for(i=1;i<=n;i++)
card[i]=-1;
for(i=2;i<=n;i++)
for(j=i;j<=n;j++)
if(0==j%i)
card[i]=card[i]*(-1);/*翻牌*/
/*数牌*/
for(j=0,i=1;i<=n;i++)
if(card[i]==1)
j++;
printf("%d",j);
}

哈哈
2010-01-29 18:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296086-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.466717 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved