硬币翻转

分析问题

已知有N枚硬币,需要有M个人参与翻面,只有是编号的倍数才翻面

也就是一个数字n,当第m人,每次要看是不是自己的倍数,即 n%m是否为0,如果是则翻面

统计翻页次数,为奇数就是反面,为偶数就是正面

建立模型

循环列出N个数字

​ 对每个列出来的数字进行M次循环对比

​ 如果第n个数字能被m中的一个数字整除 统计加1

​ 完成M次循环后退出

​ 判断统计情况 奇数是把面 偶数是正面

​ 如果是正面,则输出

编写代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n,m,count;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        count=0;
        for(int j=1;j<=m;j++){
            if(i%j==0) count++;
        }
        if(count%2==0) cout<<i<<" ";
    }
    return 0;
}

保存 编译 运行