1475:[蓝桥杯2019初赛]立方和

题目

 思路

针对数字中包含特别数字的判断,有两种方法:

  1. int 转化为 string,使用 string 的 find 函数判断。
  2. 编写函数,使用循环除10求余即可。

这里必须需要注意下,在循环中的 i 必须使用 long ,否则 i * i * i 会溢出,导致结果错误。

代码

//1475:[蓝桥杯2019初赛]立方和
#include<bits/stdc++.h>
using namespace std;
bool judge(int num){
	int tmp = num;
	while(num){
		tmp = num % 10;
		if(tmp == 2 || tmp == 0 || tmp == 1 || tmp == 9){
			return true;
		}
		num /= 10;
	}
	return false;
}
int main(){
	long long sum = 0;
	for(long i = 1; i <= 2019; i++){
		if(judge(i)){
			sum = sum + (i * i * i);
		}
	}
	cout<<sum;
	return 0;
} 
发布了104 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41960890/article/details/104664652