当前位置: 首页 > news >正文

每日一题洛谷T534125 合数c++

字符串输入,看所有位数加起来的数是不是3的倍数

是,直接输出,不是,删除1或2

特判全是1和全是2的情况

直接检测末尾数字可以特判2

特判1时,还要特判11和111,其他数字,k是奇数时是质数,k是偶数时是合数

#include<iostream>
#include<string>
using namespace std;
void solve() {string n;cin >> n;int k = n.size();//特判全是2if (n[k - 1] == '2') {cout << 0 << " " << 2 << endl;return;}int sum = 0;//每位数的和int flag = 0;for (int i = 0; i < k; i++) {sum += n[i] - '0';if (n[i] == '2')flag = 1;}if (sum % 3 == 0) {//3的倍数cout << 0 << " " << 3 << endl;return;}//1和2都有if (flag) {for (int i = 0; i < k; i++) {if ((n[i] - '0') == (sum % 3)) {cout << i + 1 << " " << 3 << endl;return;}}cout << -1 << " " << -1 << endl;return;}//特判全是1else {if (k <= 3) {//特判11和111cout << -1 << " " << -1 << endl;return;}//k是奇数时是质数(随便删除一个1),k是偶数时是合数(直接输出)cout << k % 2 << " " << 11 << endl;return;}
}
int main() {int t;cin >> t;while (t--) solve();return 0;
}

相关文章:

  • 深入理解Embedding技术-什么是Embedding?
  • 回文数(9)
  • RocketMQ Kafka区别
  • 质数和约数
  • BufferAttribute
  • 双同步坐标锁相环DDSRF-PLL原理说明
  • 专业级软件卸载工具:免费使用,彻底卸载无残留!
  • 力扣题解:1、两数之和 (梦开始的地方)
  • 教育系统源码如何支持白板直播与刷题功能?功能开发与优化探索
  • M0的基础篇之PWM学习
  • 《Python星球日记》 第53天:卷积神经网络(CNN)入门
  • SwarmUI:基于.Net开发的开源AI 图像生成 Web 用户界面系统
  • 如何将 Windows 11 的开始菜单移到左侧
  • JVM 逃逸分析
  • 第十课认识约数
  • Go多服务项目结构优化:为何每个服务单独设置internal目录?
  • 猿人学第十七题—天杀的http2.0
  • 在 Vue 3 中实现刮刮乐抽奖
  • 牛客练习赛138
  • PTA:jmu-ds-拓扑排序
  • 巴西总统卢拉昨晚抵达北京
  • ​中国超大规模市场是信心所在——海南自贸港建设一线观察
  • 江苏省委社会工作部部长等多人拟在省志愿服务联合会任职
  • “毛茸茸”的画,诗意、温暖又治愈
  • 早期投资人蜂巧资本清仓泡泡玛特套现超22亿港元,称基金即将到期
  • 洞天寻隐·学林纪丨玉洞桃源:仇英青绿山水画中的洞天与身体