Thứ Bảy, 9 tháng 4, 2022

ZEROPATH C++


#include <bits/stdc++.h>
using namespace std;

int n;
int d[100005];
vector <int> ans;

void dfs(int u)
{
  //  cout<<endl<<"u="<<u<<endl;
    int v;
    for (int i=1;i<=sqrt(u);i++)
    {
        if(u%i==0)
        {
           // cout<<"i= "<<i<<endl;
            v=(i-1)*(u/i+1);
           // cout<<v<<" ";
            if(d[v]==0)
            {
                d[v]=1;
                dfs(v);
            }
        }
    }

}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    freopen("ZEROPATH.inp","r",stdin);
    freopen("ZEROPATH.out","w",stdout);
    cin>>n;
    d[0]=1;d[n]=1;
    dfs(n);
    for (int i=0;i<=n;i++)
		if (d[i]==1) ans.push_back(i);
    cout<<ans.size()-1<<'\n';
    for (int i=0;i<ans.size()-1;i++) cout<<ans[i]<<" ";
}

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.