很久很久之前做过的一道题
翻n-1枚硬币,就是有一枚不翻,也可以理解为翻一枚
直接上程序,看程序说话
1 #include<iostream> 2 using namespace std; 3 const int maxn=101; 4 bool a[maxn];//a数组负责存储硬币的状态 5 int n;//n枚硬币 6 int main(){ 7 cin>>n; 8 cout<<n<<endl;//因为相当于只翻一枚,所以翻n次即可 9 for(int i=1;i<=n;i++){//i表示这是第几次翻 10 for(int j=1;j<=n;j++)//表示当前翻得是第几枚硬币 11 if(j!=i){//如果不为第i枚 12 if(a[j])a[j]=0;//1变成0 13 else a[j]=1;//0变成1 14 } 15 cout<<a[j];//输出当前状态 16 } 17 cout<<endl;//别忘了换行 18 return 0; 19 }