二、c了1/3 存个档 想不动了
前缀积+后缀积解法
import java.util.Scanner;
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
//前缀积和后缀积
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[] nums = new int[n];
int[] pre = new int[n + 1];
int[] post = new int[n + 1];
Arrays.fill(pre,1);
Arrays.fill(post,1);
//接数组然后初始化前缀积
for(int i = 0; i < n; i++){
nums[i] = sc.nextInt();
}
//初始化前缀积
for(int i = 1; i <= n; i++){
pre[i] = pre[i - 1] * nums[i - 1];
}
//初始化后缀积
for(int i = n - 2; i >= 0; i--){
post[i] = post[i + 1] * nums[i + 1];
}
int result = 0;
//记录区间
for(int i = 0; i < nums.length; i++){
for(int j = i; j < nums.length; j++){
if(i == 0){
if(post[j] % Math.pow(10,k) == 0) result++;
}else if(i == n - 1){
if(pre[i] % Math.pow(10,k) == 0) result++;
}else{
if(pre[i] * post[j] % Math.pow(10,k) == 0) result++;
}
}
}
System.out.println(result);
}
}