做这种题应该先看哪后看哪具体思路是什么

img

大佬给个文字详情。光给答案不懂啊

i<=sqrt(num)
num%i==0
sum=0;num!=0;num/=10
num%10
isPrime(sumDigits(num))

#include<stdio.h>
#include<math.h>
int isPrime(int num){
     for(int i=2;i<=sqrt(num);i++)
         if(num%i==0) return 0;
     return 1;
}
int sumDigits(int num){
     int sum;
     for(sum=0;num!=0;num/=10)
         sum+=num%10;
     return sum;
}
int main()
{
    int num;
    scanf("%d",&num);
    if(isPrime(sumDigits(num))==1)
        printf("各位数字之和是素数!\n");
    else
        printf("各位数字之和不是素数!\n");

    return 0;
}