bushi,这个输入怎么回事
查看原帖
bushi,这个输入怎么回事
1378709
Yue_Hao楼主2025/2/4 15:11

输入时输入了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;
}

码风有点怪,见谅

2025/2/4 15:11
加载中...