Giả thuyết của Henry

View as PDF

Points: 200 (p) Time limit: 1.0s Memory limit: 640M Input: stdin Output: stdout

Henry là một cậu bé thông minh từ nhỏ , lớn lên với mong ước tìm ra một thứ gì đó nhằm mang lại vinh quang cho nước nhà ! Một hôm, anh ta nằm mơ một giả thuyết như sau: "Luôn luôn có một số \(n\) mà với mọi số nguyên dương \(m\), \(n \times m + 1\) là số nguyên tố".

Sáng hôm sau, anh ta đem giả thuyết này nói với cuom1999 - vốn là người nối tiếng trong giới coder. Sau một thời gian dài đàm đạo với cuom1999, Henry chợt vỡ mộng khi nghe cuom1999 nói :" Đó là một giả thuyết sai !"

Henry rất tức tối và muốn nhờ bạn giúp anh ấy một chuyện đó là hãy tìm phản ví dụ để chứng minh rằng giả thuyết đó bị sai !

Input

  • Một dòng duy nhất chứa số nguyên dương \(n (1 \leq n \leq 1000)\).

Output

  • In ra một số nguyên dương \(m\), sao cho \(n \times m+1\) không phải là số nguyên tố. Chú ý rằng: \(m\) chỉ được cho phép thuộc phạm vi [1,1000]. Nếu có nhiều đáp án thỏa mãn, in ra một đáp án bất kì !

Example

Test 1

Input
5 
Output
3

Comments


  • 0
    SBD20_Caominhduc    4:31 p.m. 7 aug, 2024
    #include <bits/stdc++.h>
    using namespace std;
    int n;
    bool snt(int n)
    {
        if(n<2)return 0;
        if(n<4)return 1;
        if(n%2==0||n%3==0)return 0;
        if(n==5||n==7||n==11||n==13||n==17||n==19||n==23)return 1;
        if(n%5==0||n%7==0||n%11==0||n%13==0||n%17==0||n%19==0||n%23==0)return 0;
        for(int i=5;i*i<=n;i+=6)
        {
            if(n%i==0||n%(i+2)==0)return 0;
        }
        return 1;
    }
    int main()
    {
        ios_base::sync_with_stdio(0);cin.tie(NULL);
        cin >> n;
        for(int i=2;i<=1000;i++)
        {
            if(!snt(n*i+1))
            {
                cout << i;
                break;
            }
        }
        return 0;
    }
    

    • 3
      minhtuanitk20    2:41 p.m. 16 oct, 2021

      đúng là toán học


      • 1
        dang7rickroll    5:04 p.m. 6 sep, 2021 edited

        Hint

        • Cho một vòng \(for\) chạy \(m\) từ \(2\) đến \(1000\), nếu \(n*m+1\) không phải số nguyên tố thì in ra \(m\), kết thúc chương trình ngay lập tức.

        • 13
          a522ThanhDV    9:45 a.m. 15 jul, 2020

          Dùng toán học thì cần cout ra n-2 hoặc n+2
          C/m: n(n+2)+1 = n^2+2n+1 = (n+1)^2 luôn luôn là hợp số

          1 reply

          • 1
            todonghai2k7    12:20 p.m. 6 jul, 2020

            Sao nop ko dc ???

            1 reply