关注
//把数字拆开
//一个数字若能被3整出,则它的各个位上的数字相加可以被3整出
//所以题目其实是求,数字的组合,使子串的各位相加可以被3整出
//一个数字,除以3,余数为0,1,2
//所以,可以把字符串直接当作它的余数串
//892213467
//202210101
//1.把0单独领出来,认为可以被3整出
//2.尽量每次分的越少越好
//3.现在只考虑1和2的情况
//111
//222
//1和2交替,一旦出现了既有1又有2,那么可以被3整出
#include <iostream>
#include <string>
//现在开始循环遍历
using namespace std;
int main()
{
string str;
cin >> str;
int leng = str.size();
int count = 0;//count用来统计可以整除3的个数
int num = 0;//用来统计当前数字的总和
int c1 = 0; int c2 = 0;
//c1和c2分别统计当前余数为1和余数
for(int i=0;i<leng;i++)
{
//str[i]为字符,str[i]-'0'为数字
int now = str[i] - '0';
if (now % 3 == 0)
{
count++;
c1 = 0;
c2 = 0;
num = 0;
}
else if (now % 3 == 1)
{
num+=str[i];
c1++;
}
else
{
num+=str[i];
c2++;
}
//再次判断能否组合成一个字符串
if ((num > 0 && num % 3 == 0) || (c1&&c2))
{
count++; c1 = 0;c2 = 0;num = 0;
}
}
cout << count << endl;
system("pause");
return 0;
}
查看原帖
点赞 评论
相关推荐
04-21 22:05
深度学习 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些AI项目值得做? #
15546次浏览 422人参与
# 秋招笔试记录 #
397544次浏览 2193人参与
# 华泰星战营,提前锁定校招offer #
11562次浏览 353人参与
# 实习时最怕听到的一句话 #
14264次浏览 135人参与
# 90后北漂现状 #
38662次浏览 222人参与
# 找不到大厂实习可以去小厂吗? #
12302次浏览 108人参与
# 机械人,说说你的烦心事 #
143920次浏览 1150人参与
# 应届生初入职场,求建议 #
332477次浏览 2916人参与
# 简历上如何体现你的“AI”能力? #
7074次浏览 167人参与
# 你简历上最心虚的一句话 #
14488次浏览 154人参与
# 没有面试的日子里,你在做什么 #
8374次浏览 229人参与
# 携程笔试 #
162304次浏览 903人参与
# 如果有时光机,你最想去到哪个年纪? #
77071次浏览 858人参与
# 你总挂在第__面? #
5134次浏览 47人参与
# ai智能作图 #
682394次浏览 5726人参与
# 汉得笔试 #
3893次浏览 23人参与
# 24届秋招同行攻略分享 #
1478711次浏览 14432人参与
# 你知道最慷慨和最抠的公司分别是 #
7173次浏览 59人参与
# 绿盟笔试 #
3401次浏览 24人参与
# 大厂无回复,继续等待还是奔赴小厂 #
356727次浏览 2024人参与
# 机械人还在等华为开奖吗? #
333857次浏览 1628人参与