判断自幂数;这个代码跑不了后面的数,哪里错了?

#include <stdio.h> 
#include <math.h>
int main()
{
    int m=0;
    scanf("%d",&m);
    int a[m];
    
    int i=0;
    int count=1,sum=0;
    for(i=0;i<m;i++)
    {
        scanf("%ld",&a[i]);}
    
    int g=0,j=0;
    for(j=0;j<m;j++)
    {
        g=a[j];
    while(g/10!=0){
        g/=10;
        count++;
        }
    g=a[j];
    while(g/10!=0){
        sum+=pow(g%10,count);
            g=g/10;
        }
    sum+=pow(a[j],count);
    
    if(sum==g) printf("TRUE\n");
    else printf("FALSE\n");
        
    }
    
    
    return 0;
}

count和sum每次判断是否是自幂数都要重置