3 条题解

  • 1
    @ 2025-1-28 20:27:34

    使用瞪眼法(看题目条件)可知 n109n \le 10^9 ,所以我首选暴力枚举,于是就有了以下代码:

    #include <bits/stdc++.h>
    using namespace std;
    int n;
    int main() {
        cin >> n;
        for (int i = n - 1; i >= 2; i--) {
        /* 从大往小枚举,这样不用特判 */
            if (n % i == 0) {
                cout << i;
                break;
                /* 输出即停止 */
            }
        }
        return 0;
    }
    
    • 0
      @ 2025-8-22 16:47:50
      #include<bits/stdc++.h>
      using namespace std;
      bool inv(int a){
      	bool b=true;
      	for(int i=2;i<=sqrt(a);i++){
      		if(a%i==0){
      			b=false;
      		}
      	}
      	return b;
      }
      int re(int n){
      	for(int i=2;i<sqrt(n);i++){
      		if(n%i==0 && inv(i)){
      			return n/i;
      		}
      	}
      }
      int main(){
      	int n,ans;
      	cin>>n;
      	ans=re(n);
      	cout<<ans;
      	return 0;
      }
      
      
      • 0

        #include <bits/stdc++.h>

        using namespace std; int n; int main() { cin >> n;

        for (int i = n - 1; i >= 2; i--) {
        /* 从大往小枚举,这样不用特判 */
            if (n % i == 0) {
                cout << i;
                break;
                /* 输出即停止 */
            }
        }
        return 0;
        

        }

        • 1

        信息

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