为啥死了
查看原帖
为啥死了
171513
Polariserist楼主2021/1/4 20:56
#include <bits/stdc++.h>

#define ll long long
#define ri register int
#define ii inline int
#define iv inline void
#define fore(i, j, k, l) for(ri i = j; i <= k; i += l)
#define erof(i, j, k, l) for(ri i = j; i >= k; i -= l)
#define $ std::
#define insy $ ios::sync_with_stdio(0)
#define ctie $ cin.tie(0),$ cout.tie(0)
#define newbee insy,ctie
#define rt(x) return x
#define mt(a, b) memset(a, b, sizeof(a));

ll prime[1001010],cnt,f[1001010],a[1001010],n;
bool flags[1001010];

ll primes(ll x){
	mt(flags, 1);
	fore(i, 2, x, 1){
		if(flags[i]){
			fore(j, i * 2, x, i){
				flags[j] = 0;
			}
		}
	}
	ll k = 0;
	fore(i, 2, x, 1){
		if(flags[i]){
			prime[++cnt] = i;
		}
	}
	rt(k);
}
int main()
{
	mt(f, 0);
	f[0] = 1;
	$ cin >> n;
	ll p=primes(n);
	fore(i, 1, p, 1){
		fore(j, a[i], n, 1){
			f[j] += f[j - a[i]];
		}
	}
	$ cout<<f[n];
	return 0;
}
2021/1/4 20:56
加载中...