40分,求助
查看原帖
40分,求助
1305650
20120907jhb楼主2025/1/7 00:39

代码里的说明有些简陋

#include<iostream>
using namespace std;
long long a;
int i,A[13];
void fj(){//分解a的各个数位
	long long g=a;
	while(g!=0){
		i++;
		A[i]=g%10;
		g/=10;
	}
	return;
}
int sun(int x){//加和(我知道是sum)
    int ans=0;
    while(x!=0){
        ans+=x%10;
        x/=10;
    }
    return ans;
}
void hhh(){//随便起的名字。用来更改奇数位上的数
    for(int j=1;j<=i;j+=2){
        A[j]*=7;
        while(A[j]>9) A[j]=sun(A[j]);
    }
    return;
}
void hc(){//将a的各位合成一个数
    a=0;
    for(int j=i;j>=1;j--){
        a*=10;
        a+=A[j];
    }
    return;
}
int main(){
    int n;
	scanf("%d",&n);
	for(int k=1;k<=n;k++){
	    i=0;
		scanf("%lld",&a);
		fj();
		hhh();
		hc();
		a=sun(a);
		if(a%8==0){
		    printf("T\n");
		}else{
		    printf("F\n");
		}
	}
	return 0;
}
2025/1/7 00:39
加载中...