猩猩拉灯问题 哪里错了呢
有 k 盏灯和 k 只喜欢拉灯的猩猩,他们分别编号为 1 2 3... k,k 盏灯排成一排,每个猩猩都从这k盏灯前面走过,并且拉一下编号是他倍数的灯,比如编号为3的猩猩会拉编号为 3 6 9...的灯。开始的时候每盏灯是关着的,每拉一下灯的状态就改变一下(亮暗之间),问最后有多少盏灯是亮的。猩猩和灯的编号都是顺序的。到底哪里错了????
#include<iostream.h>
main()
{int i,a,n,s=0,k=0,z[100];
cout<<"共有多少盏灯?"<<endl;
cin>>a;
for (i=1;i<=a;i++)
{for(n=1;n<=i;n++)
{if(i%n==0)
s++;
z[i]=s;
}
for(i=1;i<=a;i++)
{if(z[i]%2!=0)
k++;
}
cout<<k;
}
}