【CodeForces - 870C】
题意:
计算一个整数最多可以拆分为多少个合数(要求拆分的全是合数)。例如:12的拆分法案是12=4+4+4。
合数是指除了1之外的非素数(正整数)。
思路:
偶数的话用4、6就可以满足,奇数的话减去一个9就成偶数了。
#include <bits/stdc++.h> using namespace std; map<int, int >M; const int N = 1e5+3; int a[N]; int main() { int t, n; cin>>t; while(t--) { int ans = 0; scanf("%d", &n); if(n == 9) ans++; if(n & 1 && n - 9 >= 4) { ans ++; n -= 9; } if(!(n & 1)) ans += n / 4; printf("%d\n", ans == 0 ? -1 : ans); } return 0; }
博客围绕CodeForces - 870C题目展开,题意是计算一个整数最多能拆分成多少个合数,且拆分的数全为合数,如12可拆为4 + 4 + 4。思路为偶数用4、6满足,奇数减去9变为偶数再处理。
276

被折叠的 条评论
为什么被折叠?



