第八届蓝桥杯决赛赛JAVA语言 C组题解_题 1 数位和
JAVA语言决赛 C组题解_题 1 数位和
- 题目
- 解题思路
题目 问题描述
数学家高斯很小的时候就天分过人。一次老师指定的算数题目是:1+2+…+100。
高斯立即做出答案:5050!
这次你的任务是类似的。但并非是把一个个的数字加起来,而是对该数字的每一个数位作累加。
这样从1加到100的“和”是:901
从10加到15是:21,也就是:1+0+1+1+1+2+1+3+1+4+1+5,这个口算都可以出结果的。
按这样的“加法”,从1加到1000是多少呢? 请通过浏览器提交该结果。
当然,我们并不期望你能像高斯一样,发现数字背后深奥的秘密,只要请计算机帮忙,一切都easy!
【第八届蓝桥杯决赛赛JAVA语言 C组题解_题 1 数位和】注意:你需要提交的是一个整数,不要填写任何多余的内容(比如:说明性文字)
解题思路 1、定义变量sum保存和值,x保存i值,以免对i进行操作时导致循环错乱。
2、通过对10取余获得x个位上数字,获得完毕后x/10%10便取到十位上的数字…循环直到取完所有数位,x=0时则表示取余完毕。
3、通过sum+x%10计算出每一个数位作累加和。
结果:13501
//java代码
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0;
//保存和
for(int i=1;
i<1001;
i++){//遍历1到1000
int x=i;
//举例:123%10=3,123/10=12,12%10=2,12/10=1,1%10=1,1/10=0.
while(x!=0){
sum=sum+x%10;
//截取x的个位上的数并相加
x=x/10;
//x值更新。
}
}
System.out.println(sum);
}
```
推荐阅读
- 第6.2章(设置属性)
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- 第三节|第三节 快乐和幸福(12)
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- android第三方框架(五)ButterKnife
- 开学第一天(下)
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 第326天
- 跌跌撞撞奔向你|跌跌撞撞奔向你 第四章(你补英语,我补物理)