c++打卡第二十一天
一、爱因斯坦的数学题
1、问题描述
2、设计思路。
①、输入N,从1到n遍历。
②、寻找满足上述条件的数,得到符合条件的个数加一并打印出这个数。
3、流程图
4、代码实现
#include<iostream> using namespace std; int main() { int N; int flag=1; int count; while(flag) { cin>>N; count=0; for(int i=1;i<=N;i++) { if(i%7==0) { if(i%6==5) { if(i%5==4) { if(i%3==2) { if(i%2==1) { count++; cout<<"此数可以为:"<<i<<endl; } } } } } else { continue; } } cout<<"总个数为:"<<count<<endl; cout<<"是否继续,是输入1,否则输入0"<<endl; cin>>flag; } return 0; }
5、结果实现
二、猜牌术
1、问题描述
2、设计思路
设有13个箱子,第一个数存在第一个箱子里,第二个数从第二个箱子开始数,存到第二个箱子里,那么第三个数存在第四个箱子开始,序号为3的箱子里,箱子里存在数的忽略,依次遍历,最终把数都存在数组中,最终打印出来。
3、流程图
4、代码实现
#include<iostream> using namespace std; int a[14]; int main() { int n,i,j=1; for(i=1;i<14;i++) { n=1; do { if(j>13) { j=1; } if(a[j]) { j++; } else { if(n==i) { a[j]=i; } n++; j++; } } while(n<=i); } for(i=1;i<14;i++) { cout<<" "<<a[i]; } return 0; }
5、结果实现