社区讨论

30pts递归

B3850[GESP202306 四级] 幸运数参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhj97qp4
此快照首次捕获于
2025/11/03 22:47
4 个月前
此快照最后确认于
2025/11/03 22:47
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n;
int solve1(int n) {
	int sum=0;
	while(n) {
		sum+=n%10;
		n/=10;
	}
	if(sum>9) {
		return solve1(sum);
	} else return sum;
}
int solve2(int n) {
	if(n*7>9) {
		int x=n*7;
		int sum=0;
		while(x) {
			sum+=x%10;
			x/=10;
		}
		if(sum>9) {
			int flag=solve1(sum);
			return flag;
		} else return sum;
	} else return n*7;
}
int main() {
	cin>>n;
	while(n--) {
		long long x;
		cin>>x;
		long long ans=0;
		int i=1;
		while(x) {
			if(i%2!=0) {
				ans+=solve2(x%10)*pow(10,i);
			} else {
				ans+=x%10*pow(10,i);
			}
			i++;
			x/=10;
		}
		if(ans%8==0)cout<<'T'<<endl;
		else cout<<'F'<<endl;
	}
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...