1 条题解
-
0
#include <bits/stdc++.h> using namespace std; long long f[1100]; int a[500]; bool pd(int x) { if(x < 2)return 0; int t = sqrt(x + 1); for(int i = 2; i <= t; i++)if(x % i == 0)return 0; return 1; } int main() { int n;scanf("%d", &n); int k = 0;for(int i = 2; i <= n; i++)if(pd(i) == 1)a[++k] = i; memset(f, 0, sizeof(f));f[0] = 1; for(int i = 1; i <= k; i++) { for(int j = a[i]; j <= n; j++) { f[j] += f[j - a[i]]; } } printf("%lld\n", f[n]); return 0; }
- 1
信息
- ID
- 724
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 235
- 已通过
- 67
- 上传者