输入时输入了n以后就输不进去了(好像死循环),dalao们帮忙看看是什么问题谢谢。
#include <stdio.h>
#define ll unsigned long long
inline ll read(){
ll x = 0, f = 1;
char ch = getchar();
while(ch < '0' || ch > '9'){
if(ch == '-'){
f = -1;
ch = getchar();
}
}
while(ch >= '0' && ch <= '9'){
x = x * 10 + ch - '0';
ch = getchar();
}
return (x * f);
}
int a[25];
inline int add(int a){
int sum = 0;
while(a != 0){
sum += a % 10;
a /= 10;
}
return sum;
}
inline int bian(int a){
a *= 7;
while(a > 9) a = add(a);
return a;
}
inline ll powe(ll a, ll b){
for(int i = 1; i <= b; i++) a *= a;
return a;
}
inline bool pd(ll x){
ll len = 1, x2 = 0, sum = 0;
for( ; x != 0; len++){
a[len] = x % 10;
x /= 10;
}
for(ll i = 1; i <= len; i += 2) a[i] = bian(a[i]);
for(ll i = 1; i <= len; i++) sum += a[i];
if(sum % 8 == 0) return true;
else return false;
}
int main(){
int n, x;
scanf("%d", &n);
for(int i = 1; i <= n; i++){
x = read();
if( pd(x) ) putchar('T');
else putchar('F');
putchar('\n');
}
return 0;
}
码风有点怪,见谅