十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用list保存数字的个 十 百 位数,因为 0-9 11-19 奇数与偶数是五五开,所以可以先 num/10 计算出有几个10,然后乘5 -1(只有一位时单独考虑);
然后计算 处个位外的 位之和
是偶数 的话,需要再加一个偶数 (ge)/2+1 (向上取整)
是奇数的话,需要加一个奇数, (ge+1)/2
// 304 -0106-2180. 统计各位数字之和为偶数的整数个数
public int countEven(int num) {ArrayListlist = new ArrayList<>();
int a=num;
for (int i = 0; i<3 ; i++) {list.add(a%10);
a/=10;
}
int x=num/10;
int cnt=x!=0? x*5-1:0;
int baiAddTen=list.get(2)+list.get(1);
if (baiAddTen==0){cnt+=Math.ceil((list.get(0)+1)/2.0)-1; // 向上取整 找0-ge 偶数的个数
return cnt;
}
if (baiAddTen%2==0){// 除个位外是偶数
cnt+=Math.ceil((list.get(0)+1)/2.0); // 向上取整 找0-ge 偶数的个数
}else {cnt+=(list.get(0)+1)/2; // 找奇数的个数
}
return cnt;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧