C语言 09:硬币翻转

无标题.jpg
# include <stdio.h>

int main(){
    int N, M;
    int i, j, k;
    
    scanf("%d %d", &N, &M);
    
    int n[5000] = {0};           //设0为硬币正面,1为反面。只使用1-N的数组部分 
    
    for (i=1;i<=M;i++){          //M个人,一次翻硬币 
        for (j=1;j<=N;j++){
            if (j % i == 0){
                if (n[j]==1) 
                    n[j]=0;
                else 
                    n[j]=1;
            }
        }   
        printf("第%d个人", i);
        for (k=1;k<=N;k++) printf("%d ", n[k]);
        printf("\n");
    }
    for (i=1;i<=M;i++){
        if (n[i]==0) printf("%d ", i);
    }   
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容