首页 > 其他分享 >打卡3

打卡3

时间:2023-05-24 21:13:00浏览次数:30  
标签:13 int 魔术师 ++ 黑桃 打卡

问题描述:魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,并使牌面朝下。然后他对观众说:我不看牌,只要数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看,魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,他将黑桃A放在桌子上,然后按顺序从上到下数手中的余牌,第二次数1、2,将第一张牌放在这迭牌的下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1、2、3,将前面两张依次放在这迭牌的下面,再翻第三张牌正好是黑桃3,这样依次进行,将13张牌全部翻出来,准确无误。问魔术师手中的牌原始次序是怎样安排的?

流程图:

 

伪代码:

a[14]<-全0

j=1

for i<-1 to 13            //i记为要翻的牌数

n=0

while n<i

j<-j%13            //j记为当前牌数

if j=0

j<-13

if a[j]=0

n++            //n记为翻的牌数

j++

a[j-1]=i

output a[1 to 13]

代码:

#include <iostream>

using namespace std;

int main()

{

int a[14]={0,0,0,0,0,0,0,0,0,0,0,0,0,0};

int i,n,j=1;

for(i=1;i<=13;i++)

{

n=0;

for(;n<i;j++)

{

j=j%13;

if(j==0)

j=13;

if(a[j]==0)

n++;

}

a[j-1]=i;

}

for(i=1;i<=13;i++)

{

cout<<a[i]<<" ";

}

return 0;

}

 

标签:13,int,魔术师,++,黑桃,打卡
From: https://www.cnblogs.com/chukjbgg333/p/17429520.html

相关文章

  • c++打卡练习(38)
    求一个范围内的所有素数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ intstart,end,i,j,m=0; cout<<"给定你所要求的素数的范围:"<<endl; cin>>start; cin>>end; cout<<start<<"到"<<end<<"之......
  • 每日打卡一小时(第三十三天)
    一.问题描述对于输入的每一批数,按从小到大排序后输出。一行输入为一批数,第一个输入为数据类型(1表示整数,2表示字符型数,3表示有一位小数的浮点数,4表示字符串,0表示输入结束),第二个输入为该批数的数量size(0<size<=10),接下来为size个指定类型的数据。输出将从小到大顺序输出数据。二.......
  • 打卡第三十三天
    分数加法运算重载一、1.分数为0时,表示成0z1m,如果结果为负数,那么分子取负数,分母为正数二、三、#include<iostream>usingnamespacestd;classFS{private:intfz;intfm;public:FS(){}FS(intz,intm):fz(z),fm(m){}voidset(intx,inty){fz=x;......
  • 2023.5.24编程一小时打卡
    一、问题描述:已知Horse类是Pegasus类的父类,根据以下主函数完善程序内容,以实现规定的输出。不允许改变主函数的内容。intmain(){Horse*p1=newHorse;//输出:Horse申请了空间...Horse*p2=newPegasus;/*输出两行:Horse申......
  • 打卡
    1.问题:求两个正整数之间的最大公约数。2.思路:用暴击穷举法,简单粗暴地把1~y(前面已经假设x>y)都列出来分别判断是否为x、y的公约数,然后再找到其中最大的一个。3.程序流程图: 4.代码实现:#include<iostream>usingnamespacestd;intmain(){ intx,y; cin>>x>>y; intco......
  • 5月24日打卡
    例5-9常引用做形参 #include<iostream>#include<cmath>usingnamespacestd;classPoint{public:Point(intx=0,inty=0):x(x),y(y){}intgetX(){returnx;}intgetY(){returny;}friendfloatdist(constPoint&p1,constPoint......
  • 编程打卡:面向对象程序设计
    importjava.util.*;publicclassStaffManagementSystem{privatestaticList<Staff>staffList=newArrayList<>();publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);while(true){......
  • 5.24打卡
    #include<bits/stdc++.h>usingnamespacestd;classPoint{public:Point(intxx=0,intyy=0){x=xx;y=yy;}Point(Point&p);intgetX(){returnx;......
  • 5.24打卡
     3.程序流程图 4.代码实现#include<bits/stdc++.h>usingnamespacestd;main(){intx,y,z,num=0;printf("MenWomenChildren\n");for(x=0;x<=10;x++){y=20-2*x;z=30-x-y;if(3*x+2*y+z==50)......
  • 每日打卡1057
    给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0、多少1。例如给定字符串 PAT(Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而71的二进制是1000111,即有3个......