Consider all integer combinations of ab for 2 a
5 and 2
b
5:
2 2=4, 2 3=8, 2 4=16, 2 5=32
3 2=9, 3 3=27, 3 4=81, 3 5=243
4 2=16, 4 3=64, 4 4=256, 4 5=1024
5 2=25, 5 3=125, 5 4=625, 5 5=3125
If they are then placed in numerical order, with any repeats removed, we get the following sequence of 15 distinct terms:
4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125
How many distinct terms are in the sequence generated by ab for 2 a
100 and 2
b
100?
#define N 101
#define M 603
int main()
{
clock_t te,ts;
ts=clock();
int answer = 0;
int i,j,k,l;
bool use[N],flag[M];
for (i = 2; i < N; i++)
{
use[i] = false;
}
for (i = 2; i < N; i++)
{
if (!use[i])
{
int t = i;
for (j = 2; j < M; j++)
{
flag[j] = false;
}
for (j = 2; j < N; j++)
{
t = t*i;
if (t >= N)
{
break;
}
use[t] = true;
}
for (k = 1; k < j; k++)
{
for (l = 2; l < N; l++)
{
flag[k*l] = true;
}
}
for (k = 2; k < M; k++)
{
if(flag[k]){
answer++;
}
}
}
}
printf("\nanswer %d",answer);
te=clock();
printf("\ntime difference: %ds\n",(te-ts)/CLOCKS_PER_SEC);
return 0;
}