蓝桥杯2019年JAVA C组第一题 求和答案详解 仅供参考

小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 2019 中,所有这样的数的和是多少?

思路; 将每一个数判断是否符合题中要求`,运用函数将数字转化成字符串进而转化成字符数组运用循环开判断每一位数字,将符合2,0,1,9的数字全部筛选出来,进而求和

仅供参考
代码如下:

public class Main01 {

public static void main(String[] args) {
	int sum=0;						//定义一个变量接收最终结果
	for(int i=0;i<=2019;i++) {		
		if(f(i)) {					//定义一个方法来筛选符合条件的数
			sum+=i;					//将所有符合要求的数求和
		}
	}
	System.out.println(sum);		//输出最终结果
}
public static boolean f(int n) {	//定义Boolean类型方法
	String str=""+n;				//将获取到的值赋值给String类型
	char[] ch=str.toCharArray();	//将上述String类型用.toCharArray()转化成字符数组
	for(int i=0;i<ch.length;i++) {	//将获取到数的每一位与题中2,0,1,9比较
		if(ch[i]=='2'||ch[i]=='0'||ch[i]=='1'||ch[i]=='9') {
			return true;			//数中满足题中要求,含有2,0,1,9则返回true
		}
	}
	return false;					//不符合要求直接返回false
}

}

正确答案: 1905111

欢迎评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值