蓝桥杯:平方和(字符串操作) java&python

蓝桥杯:平方和(字符串操作) java&python_第1张图片

分析:由于要拆分数字,所以可以将其转换成字符串,再利用字符串分析

public class 平方和 {
    public static void main(String[] args) {
        long sum=0L;
        for(int i=1;i<=2019;i++){//注意是i<=2019,不是i<2019
          String s=""+i;//
          
          //只需要知道是否包含,所以不用特地取数组
          if(s.contains("2")||s.contains("0")||s.contains("1")||s.contains("9")) {
         //注意如果i不是long类型的话要用long强制转换
         //pow(i,2)表示i的平方)  
           sum+=(long)Math.pow(i, 2); //或者直接sum+=i*i
          }
        }
        System.out.println(sum);
          
          //稍微麻烦一点的取数组方法,但需要知道某个索引的时候用此方法,比如乘积尾零的题
//          char[] a=s.toCharArray();
//          for(int j=0;j

 

一样的逻辑,python写法:

sum=0
for i in range(1,2020):
  s=str(i)
  if '2' in s or '0' in s or '1' in s or '9' in s:
    sum+=i*i
print(sum)

你可能感兴趣的:(算法,蓝桥杯,java,python,算法)