1 条题解

  • 0
    @ 2024-12-24 9:49:41

    C++ :

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    int main()
    {
        int a[6];
        int n;
        while(scanf("%d",&n)!=EOF)
        {  int co=1;
            for(int i=0;i<n;i++)
            {
                 scanf("%d",&a[i]);
                 co*=a[i];
            }
            sort(a,a+n);
    
            int z=0;
            for(int i=a[n-2];i<co;i++)
            { int t=0;
                for(int j=0;j<n;j++)
                {
                    if(i%a[j]==0)t++;
                }
    
                if(t==n-1)
                    {z=i;break;}
    
            }
            if(z==0) printf("-1\n");
            else printf("%d\n",z);
        }
    }
    
    

    Java :

    import java.io.OutputStreamWriter;
    import java.io.BufferedWriter;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.io.Writer;
    import java.util.List;
    import java.io.IOException;
    import java.util.Arrays;
    import java.util.InputMismatchException;
    import java.util.ArrayList;
    import java.util.NoSuchElementException;
    import java.math.BigInteger;
    import java.io.InputStream;
    
    /**
     * Built using CHelper plug-in
     * Actual solution is at the top
     * @author Laputa
     */
    public class Main {
    	public static void main(String[] args) {
    		InputStream inputStream = System.in;
    		OutputStream outputStream = System.out;
    		InputReader in = new InputReader(inputStream);
    		OutputWriter out = new OutputWriter(outputStream);
    		Task solver = new Task();
    		solver.solve(1, in, out);
    		out.close();
    	}
    }
    
    class Task {
    	public void solve(int testNumber, InputReader cin, OutputWriter out) {
    		while(cin.hasNext()){
    			int n=cin.nextInt();
    			int num[]=new int[n];
    			for(int i=0;i<n;i++){				
    				num[i]=cin.nextInt();				
    			}
    			long ans=Long.MAX_VALUE;
    			for(int i=0;i<n;i++){
    				long mul=1;
    				for(int j=0;j<n;j++){
    					if(i==j)
    						continue;
    					mul=IntegerUtils.lcm(mul,num[j]);
    				}
    				if(mul%num[i]!=0)
    					ans=Math.min(ans,mul);				
    			}
    			if(ans!=Long.MAX_VALUE)
    				out.println(ans);
    			else
    				out.println(-1);
    		}
    	}
    }
    
    class InputReader {
    
    	private InputStream stream;
    	private byte[] buf = new byte[1024];
    	private int curChar;
    	private int numChars;
    	private SpaceCharFilter filter;
    
    	public InputReader(InputStream stream) {
    		this.stream = stream;
    	}
    
    	public int read() {
    		if (numChars == -1)
    			throw new InputMismatchException();
    		if (curChar >= numChars) {
    			curChar = 0;
    			try {
    				numChars = stream.read(buf);
    			} catch (IOException e) {
    				throw new InputMismatchException();
    			}
    			if (numChars <= 0)
    				return -1;
    		}
    		return buf[curChar++];
    	}
    
    	public int peek() {
    		if (numChars == -1)
    			return -1;
    		if (curChar >= numChars) {
    			curChar = 0;
    			try {
    				numChars = stream.read(buf);
    			} catch (IOException e) {
    				return -1;
    			}
    			if (numChars <= 0)
    				return -1;
    		}
    		return buf[curChar];
    	}
    
    	public int nextInt() {
    		int c = read();
    		while (isSpaceChar(c))
    			c = read();
    		int sgn = 1;
    		if (c == '-') {
    			sgn = -1;
    			c = read();
    		}
    		int res = 0;
    		do {
    			if (c < '0' || c > '9')
    				throw new InputMismatchException();
    			res *= 10;
    			res += c - '0';
    			c = read();
    		} while (!isSpaceChar(c));
    		return res * sgn;
    	}
    
    	public boolean isSpaceChar(int c) {
    		if (filter != null)
    			return filter.isSpaceChar(c);
    		return isWhitespace(c);
    	}
    
    	public static boolean isWhitespace(int c) {
    		return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    	}
    
    	public boolean isExhausted() {
    		int value;
    		while (isSpaceChar(value = peek()) && value != -1)
    			read();
    		return value == -1;
    	}
    
    	public boolean hasNext() {
    		return !isExhausted();
    	}
    
    	public interface SpaceCharFilter {
    		public boolean isSpaceChar(int ch);
    	}
    }
    
    class OutputWriter {
    	private final PrintWriter writer;
    
    	public OutputWriter(OutputStream outputStream) {
    		writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
    	}
    
    	public OutputWriter(Writer writer) {
    		this.writer = new PrintWriter(writer);
    	}
    
    	public void print(Object... objects) {
    		for (int i = 0; i < objects.length; i++) {
    			if (i != 0)
    				writer.print(' ');
    			writer.print(objects[i]);
    		}
    	}
    
    	public void println(Object... objects) {
    		print(objects);
    		writer.println();
    	}
    
    	public void close() {
    		writer.close();
    	}
    
    	}
    
    class IntegerUtils {
    	public static long gcd(long a, long b) {
    		a = Math.abs(a);
    		b = Math.abs(b);
    		while (b != 0) {
    			long temp = a % b;
    			a = b;
    			b = temp;
    		}
    		return a;
    	}
    
    	public static long lcm(long a, long b) {
    		return a / gcd(a, b) * b;
    	}
    
    	}
    
    
    • 1

    信息

    ID
    988
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者