今天做了题,题去下。
这题实际上不难,由于做过类似的题,可以说很容易。原理就是有数组来区分不同时期,灯不同的状态,从而进行判断。现在上代码。
#include <iostream>
using namespace std;
int main(){
int L,M,a[5001]={0};
int i,j;
cin>>L>>M;
for(i=1;i<=L;i++)
{ a[i]=-1;
}
for(i=1;i<=M;i++)
{ for(j=1;j<=L;j++)
{ if(j%i==0)
a[j]*=-1;
}
}
for(i=1;i<=L;i++)
{ if(a[i]==1)
{ if(a[0]==0)
a[0]=3;
else cout<<",";
cout<<i;
}
}
return 0;
}
这是我个人写的,是有点麻烦,见谅
~( ̄▽ ̄~)
其实我强调的是逗号问题,本题要求用逗号隔开输入。唉╯﹏╰,真是一个逗号难倒英雄汉。最终我还是解决了。-~( ̄▽ ̄~)~
for(i=1;i<=L;i++)
{ if(a[i]==1)
{ if(a[0]==0)
a[0]=3;
else cout<<",";
cout<<i;
}
通过一个if语录,将第一个逗号消掉。这个办法虽然简单,但我感觉很有灵性,所以我想记录一下。(。ò ∀ ó。)
本文只为日后复习使用。
本人才学疏浅,望大佬勿笑。