天天看點

算法競賽入門經典

  //第三章 數組

#define MAX 1010

#include<stdio.h>

int a[MAX];

int main()

{

  int i,n,k;

  scanf("%d%d",&n,&k);

  for(i=0;i<n;i++)

    {

      a[i]=i+1;

    }

  int j;

  for(i=2;i<=k;i++)

    {

      for(j=i;j<=k;j*=i)

    {

      if(a[j-1]==0)

    {

      a[j-1]=j;

    }

      else

    {

      a[j-1]=0;

    }

    }

    }

  for(j=0;j<n;j++)

    {

      if(a[j]!=0)

    {

      printf("%d ",a[j]);

    }

    }

  return 0;

}

繼續閱讀