问题标题: 酷町堂:1483 翻牌

0
0
已解决
张舒斌
张舒斌
中级光能
中级光能
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int k;
    bool a[52]={true};
    for(int i=1;i<=52;i++)
    {
        for(int j=2;true;j++)
        {
            if(i%j==0)
            {
                for(k=1;k<=52;k++)
                {
                    a[k]=!a[k];
                }
            }
            if(k==52)
            {
                break;
            }
        }
    }
    for(int i=1;i<=52;i++)
    {
        if(a[i]==true)
        {
            cout<<i<<endl;
        }
    }
    return 0;
}

死循环代码,为何???

请大佬们指点。


0
已采纳
郑怡翔
郑怡翔
初级天翼
初级天翼

呵呵,其实我写了:

首先定义a[60],全部赋值为0,这就不多说咋全部赋值0了。

核心:

for(int i=2;i<=52;i++){
        for(int j=i;j<=52;j++)
        {
            if(j%i==0)
            {
                a[j]=!a[j];//过程……
            }
        }
    }
    for(int i=1;i<=52;i++)
    {
        if(a[i]==0)//输出
        {
            cout<<i<<endl;
        } 
    }

 

0
0
张舒斌
张舒斌
中级光能
中级光能

有人回答吗?

@郑怡翔 @蒋智航 @杨陈卓 @栾峻岩 @所有人

0
王子健
王子健
初级天翼
初级天翼
整形 a[60]={0};

    循环(int i=2;i<=52;i++){

        循环(int j=i;j<=52;j++)

        {

            if(j%i==0)

            {

                a[j]=!a[j];

            }

        }

    }

    for(int i=1;i<=52;i++)

    {

        if(a[i]==0)

        {

            cout<<i<<endl;

        } 

    }

核心代码

0
车轩立
车轩立
资深守护
资深守护

 

for(int i=2;i<=52;i++){

 

for(int j=i;j<=52;j++)

 

{

 

if(j%i==0)

 

{

 

a[j]=!a[j];//过程……

 

}

 

}

 

}

 

for(int i=1;i<=52;i++)

 

{

 

if(a[i]==0)//输出

 

{

 

cout<<i<<endl;

 

}

 

}

0
我要回答