题意:
      给你n个格子,每个格子初始状态都是1,然后这样变化1 2 3...n,2 4 6 ... n,
3 6 9 ....n ,...n;如果是1变成0,如果是0变成1,问经过n次变换之后有几个0.


思路:

     水题,直接模拟,不解释了。

#include<stdio.h>

int main ()
{
   int t ,n ,i ,sum;
   int mark[110];
   scanf("%d" ,&t);
   while(t--)
   {
      scanf("%d" ,&n);
      for(i = 1 ;i <= 105 ;i ++)
      mark[i] = 1;
      for(i = 1 ;i <= n ;i ++)
      for(int j = i ;j <= n ;j += i)
      mark[j] ^= 1;
      for(sum = 0 ,i = 1 ;i <= n ;i ++)
      if(!mark[i]) sum ++;
      printf("%d\n" ,sum);
      
   }
   return 0;
}
      

相关文章:

  • 2021-12-02
  • 2021-05-30
  • 2021-10-31
  • 2021-10-26
  • 2021-10-16
  • 2021-07-27
  • 2022-01-22
猜你喜欢
  • 2022-12-23
  • 2021-08-02
  • 2021-08-10
  • 2022-01-01
  • 2021-07-05
  • 2022-01-11
相关资源
相似解决方案