• 2019百度之星初赛二 1001 度度熊与数字(因子问题)


    1001 度度熊与数字

    题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=862&pid=1001

    题目:

     思路:先求出这个数每个位置上的和,可以用字符串处理,sprintf,然后在sqrt(n)内求出n的因子,然后暴力搜索和是因子的倍数的,放入set容器中,因为他是自动排序的容器,所以直接输出即可,注意行末不要有空格

    // 
    // Created by HJYL on 2019/8/17.
    //
    #include <iostream>
    #include <vector>
    #include <map>
    #include <string>
    #include <queue>
    #include <stack>
    #include <set>
    #include <algorithm>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <cstdlib>
    #include<math.h>
    using namespace std;
    typedef long long ll;
    const int maxn=1e6+10;
    ll a[maxn];
    int main()
    {
        //freopen("C:\Users\asus567767\CLionProjects\untitled\text","r",stdin);
        int T;
        scanf("%d",&T);
        while(T--)
        {
            ll n;
            char str[50];
            scanf("%lld",&n);
            sprintf(str,"%lld",n);
            //cout<<str<<endl;
            int res=0;
            int len=strlen(str);
            for(int i=0;i<len;i++)
            {
                res+=(str[i]-'0');
            }
            // cout<<res<<endl;
            int pos=0;
            int a[maxn];
            set<int>st;
            int cnt=0;
            for(ll i=1;i<=sqrt(n);i++)
            {
                if(n%i==0)
                {
                    a[pos++]=i;
                    a[pos++]=n/i;
                }
            }
            for(int i=0;i<pos;i++)
            {
                if(res%a[i]==0)
                    st.insert(a[i]);
            }
            printf("%d
    ",st.size());
            for(auto it=st.begin();it!=st.end();it++)
            {
                if(it==st.begin())
                    printf("%d",*it);
                else
                    printf(" %d",*it);
            }
            printf("
    ");
        }
    
        return 0;
    }
  • 相关阅读:
    1007 正整数分组
    Review: JQuery
    Summary: DOM modification techniques
    B
    D
    C
    hdu5592 倒序求排列+权值线段树
    主席树入门——询问区间第k大pos2104,询问区间<=k的元素个数hdu4417
    二维前缀和好题hdu6514
    莫比乌斯反演理解
  • 原文地址:https://www.cnblogs.com/Vampire6/p/11373518.html
Copyright © 2020-2023  润新知