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、结果实现

 

posted @ 2023-05-09 22:22  七安。  阅读(21)  评论(0编辑  收藏  举报