美文网首页
CCF除法80分(Java)

CCF除法80分(Java)

作者: 巨鹿lx | 来源:发表于2020-04-12 18:53 被阅读0次

    用最笨的方法,拿到第五题的80分,我是想不到的

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.util.Scanner;
    
    public class Main{
        private static String[] s;
        static int N = 100010;
        static int a[] = new int[N];
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            s = br.readLine().split(" ");
            int n = Integer.parseInt(s[0]);
            int m = Integer.parseInt(s[1]);
            s = br.readLine().split(" ");
            for(int i = 1 ; i <= n ; i++) {
                a[i] = Integer.parseInt(s[i-1]);
            }
            while(m-->0) {
                s = br.readLine().split(" ");
                int x = Integer.parseInt(s[0]);
                if(x==1) {
                    int l = Integer.parseInt(s[1]);
                    int r = Integer.parseInt(s[2]);
                    int v = Integer.parseInt(s[3]);
                    process(l,r,v);
                }else {
                    int l = Integer.parseInt(s[1]);
                    int r = Integer.parseInt(s[2]);
                    long sum = 0;
                    for(int i = l; i <=r;i ++) {
                        sum+=a[i];
                    }
                    bw.write(sum+"\n");
                }
            }
            bw.flush();
        }
        private static void process(int l, int r, int v) {
            for(int i = l; i <=r;i ++) {
                if(a[i]%v==0) {
                    a[i] /=v; 
                }
            }
        }
        
    }
    
    

    相关文章

      网友评论

          本文标题:CCF除法80分(Java)

          本文链接:https://www.haomeiwen.com/subject/ywpbmhtx.html