| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38423 | 23级徐泽厚 | 【J】T3 | C++ | 解答错误 | 0 | 1000 MS | 9088 KB | 864 | 2025-10-08 13:59:15 |
#include <bits/stdc++.h> #define int long long using namespace std; int n,m; int ans=0,lans; int tg; map<pair<int,int>,int> sp; int dfs(int dq,int lst){ if (dq==1){ return sp[{dq,lst}]=1; } if (dq<lst){ return 0; } if (sp.count({dq,lst})>0){ return sp[{dq,lst}]; } auto& ans=sp[{dq,lst}]; for (int ys=lst;ys<=dq;ys++){ if (ys>m) break; if (dq%ys==0){ ans+=dfs(dq/ys,ys); } } return ans; } signed main(){ // freopen("factor.in","r",stdin); // freopen("factor.out","w",stdout); ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n>>m; for (int i=2;i<=n;i++){ // lans=0; lans=dfs(i,2); ans=ans^lans; cout<<lans<<"\n"; } cout<<ans<<"\n"; return 0; }