牛客周赛 Round 51 B-小红的三倍数 题型:数学

55 阅读1分钟

B-小红的三倍数_牛客周赛 Round 51 (nowcoder.com)

思想

可以发现数据范围很大,因此我们不能去暴力做,应该尝试去找规律.这里的数学规律就是求一个数是不是3的倍数,只需要把这个数每一位相加和看是不是3的倍数即可

code 注意,ai最大1010010^{100},因此我们应该去字符串去存储

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+10;
int a[N];
    int sum=0;

string s[110];
signed main()
{  
    cin.tie(nullptr)->sync_with_stdio(false);
	int n;cin>>n;
	
    for(int i=1;i<=n;i++)
    {
        cin>>s[i];
        for(int j=0;j<s[i].size();j++)
        {
            sum+=s[i][j]-'0';
        }
    }
if(sum%3==0)cout<<"YES";
else cout<<"NO"<<endl;
		
return 0;
} 

image.png