Skip to content

Instantly share code, notes, and snippets.

@completejavascript
Created September 15, 2018 09:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save completejavascript/6d73c1229673c3ea44fc1b93e40cf7f6 to your computer and use it in GitHub Desktop.
Save completejavascript/6d73c1229673c3ea44fc1b93e40cf7f6 to your computer and use it in GitHub Desktop.
#include<stdio.h>
const int MAX = 1000001;
int free_cube[MAX];
void create_free_cube()
{
for(int i = 2; i <= 100; i++)
{
int t = i*i*i;
int j = 1;
while(true)
{
int temp = t*j;
if(temp < MAX)
{
free_cube[temp] = -1;
j++;
}
else break;
}
}
int cnt = 0;
for(int i = 1; i < MAX; i++)
if(free_cube[i] > -1)
{
cnt++;
free_cube[i] = cnt;
}
}
int main()
{
int T = 0;
scanf("%d",&T);
for(int i = 0; i < MAX; i++)
free_cube[i] = 0;
create_free_cube();
for(int tc = 0; tc < T; tc++)
{
int n = 0;
scanf("%d",&n);
if(free_cube[n] == -1) printf("Case %d: Not Cube Free\n",tc+1);
else printf("Case %d: %d\n",tc+1,free_cube[n]);
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment