>>712訂正
#include <stdio.h>
#include <math.h>

int main(void)
{
int p = 43112609, r[] = {5, 1, 3, 7};
double i, f;

f = modf(p * log10(2), &i);

printf("桁数:%d\n", (int)i);
printf("最上位桁の数字:%d\n", (int)pow(10, f));
printf("最下位桁の数字:%d\n", r[p % 4]);

return 0;
}