简单的纸牌游戏,C++任务:一副纸牌(扑克牌),正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌

hydrayy2022-10-04 11:39:541条回答

简单的纸牌游戏,C++
任务:一副纸牌(扑克牌),正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的 直到 以13为基数的 翻过,输出:这时正面向上的牌有哪些?
本题经过改动,原题较简单,针对改动后的问题,写出代码(C++),让我参考下

已提交,审核后显示!提交回复

共1条回复
SHAKA_011 共回答了24个问题 | 采纳率87.5%
1, 4, 9, 16, 25, 36, 49.
这是道竞赛题啊。。
翻奇数次得话,牌面向下;翻动偶数次,则牌面仍旧向上。
一张牌翻的次数,是他所有约束的个数减1 (牌1不翻)。
一般的数约数都是配对的,即偶数个约数。比如12,约数是(1,12),(2,6),(3,4),共6个,不算1(题目里1那张牌不翻),那么就翻了5次。
而完全平方数则有奇数个约数,比如36, 因为约数6和自己配对,只算1次。
1年前

相关推荐