1 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long n; // [1] n-输入的正整数,表示要划分的数的范围是1~n int main(){ cin>>n; // 特殊情况:当n=1时,只有一个数1,无需划分,堆数为1 if(n==1){ cout<<1; }else{ // 核心思路:所有偶数都包含质因数2,因此两两不互质,必须分到不同堆中 // 最少堆数等于1~n中偶数的数量(n/2向下取整) // 例如n=5时,偶数有2、4共2个,所以最少需要2堆 cout<<n/2; } return 0; }
- 1
信息
- ID
- 1380
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者