20分,求大神帮调
查看原帖
20分,求大神帮调
943699
Alex_Rao楼主2023/9/17 21:20

using namespace std;

int numbers[30];
vector<int> digit;

void divide_digit(long long n) {//不开long long见祖宗 
	while (n) {//不能写n>0 
		digit.push_back((int)(n % 10));
		n /= 10;
	}
	reverse(digit.begin(), digit.end());
}

void change_digit() {
	for (int i = digit.size() - 1; i >= 0; i -= 2) {
		if (digit[i] * 7 > 9) {
			int t = digit[i] * 7;
			while (t > 9) {
				t = t / 10 + t % 10;
			}
			digit[i] = t;
		} else {
			digit[i] = digit[i] * 7;
		}
	}
}

char mod_8() {
	int ans = 0;
	for (int i = 0; i < digit.size(); i++) ans += digit[i];
	if (ans % 8 == 0) return 'T';
	else return 'F';
}

int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) scanf("%lld", &numbers[i]);
	for (int i = 0; i < n; i++) {
		divide_digit(numbers[i]);
		change_digit();
		printf("%c\n", mod_8());
		digit.clear();
	}
	
	return 0;
}
2023/9/17 21:20
加载中...