题解
2025-05-24 14:19:33
发布于:浙江
我的第一篇题解,可能写的不好,希望大家理解!感谢!!!
原题链接:A596.求整数各位之和
先将思路:
1. 题目要求我们求输入的一个整数x的各位之和.
2. 0<x<1000000
那么,在0~100万这个区间,我们可以直接暴力枚举.
把0~100万分成0~9
、10~99
、100~999
、1000~9999
、10000~99999
、100000~999999
这几个部分,再分别在一小段中求出各个数位上的数字再相加.
AC code:
#include<bits/stdc++.h>
using namespace std;
int a,gw,sw,bw,qw,ww,sww;
int main(){
cin>>a;
if(a>=0&&a<=9){
cout<<a;
}
else if(a>=10&&a<=99){
gw=a/10;
a%=10;
sw=a;
cout<<sw+gw;
}
else if(a>=100&&a<=999){
gw=a/100;
a%=100;
sw=a/10;
a%=10;
bw=a;
cout<<bw+sw+gw;
}
else if(a>=1000&&a<=9999){
gw=a/1000;
a%=1000;
sw=a/100;
a%=100;
bw=a/10;
a%=10;
qw=a;
cout<<qw+bw+sw+gw;
}
else if(a>=10000&&a<=99999){
gw=a/10000;
a%=10000;
sw=a/1000;
a%=1000;
bw=a/100;
a%=100;
qw=a/10;
a%=10;
ww=a;
cout<<ww+qw+bw+sw+gw;
}
else if(a>=100000&&a<=999999){
gw=a/100000;
a%=100000;
sw=a/10000;
a%=10000;
bw=a/1000;
a%=1000;
qw=a/100;
a%=100;
ww=a/10;
a%=10;
sww=a;
cout<<sww+ww+qw+bw+sw+gw;
}
return 0;
}
最后,希望大家支持我(虽然代码没有那么优),感谢大家!
全部评论 3
666
2025-05-25 来自 广东
0%%%
2025-05-25 来自 北京
0让我这个青铜蒟蒻看懂了
2025-05-25 来自 北京
0
强强强,但是学一下while,for循环吧,不然你得累死(
2025-05-24 来自 广东
02025-05-25 来自 浙江
0
有帮助,赞一个