• 超级无敌简单题


    Problem Description
    通常来说,题面短的题目一般都比较难,所以我要把题面写得很长很长。
    通常来说,题面短的题目一般都比较难,所以我要把题面写得很长很长。
    通常来说,题面短的题目一般都比较难,所以我要把题面写得很长很长。
    鸽子数字由以下过程定义:从任何正整数开始,将数字替换为其各个数位的平方和,并重复该过程,直到该数字等于1。如果不能,则这个数字不是鸽子数。
    例如7是鸽子数,因为7->49->97->130->10->1。(7*7=49,4*4+9*9=97,9*9+7*7=130....如此类推)
    显然1是第一个鸽子数。
    有Q个询问,每个询问给出一个数k,你需要输出第k个鸽子数。
     
    Input
    第一行一个Q,代表询问的个数(Q<=100000)
    接下来Q行,每行一个数字k(k<150000)
     
    Output
    每行输出一个数,代表第k个鸽子数
     
    Sample Input
    2 1 2
     
    Sample Output
    1 7
    暴力打表即可 
    在纸上进行对1-9的模拟  发现4会进入死循环 也就是到4时必不可能是
    #include<bits/stdc++.h>
    using namespace std;
    //input by bxd
    #define rep(i,a,b) for(int i=(a);i<=(b);i++)
    #define RI(n) scanf("%d",&(n))
    #define RII(n,m) scanf("%d%d",&n,&m)
    #define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
    #define RS(s) scanf("%s",s);
    #define LL long long
    #define REP(i,N)  for(int i=0;i<(N);i++)
    #define CLR(A,v)  memset(A,v,sizeof A)
    //////////////////////////////////
    #define N 150000+5
    int ans[N];
    bool judge(int x)
    {
        while(x!=1&&x!=4)
        {
            int sum=0;
            while(x)
            {
                sum+=(x%10)*(x%10);
                x/=10;
            }
            x=sum;
        }
        return x==1;
    }
    void get(void)
    {
        int cnt=1;
        ans[1]=1;
        int i=2;
        while(cnt<=150000)
        {
            if(judge(i))
                ans[++cnt]=i;
            i++;
        }
    }
    
    int main()
    {
        get();
        int q;
        RI(q);
        while(q--)
        {
            int x;
            RI(x);
            printf("%d
    ",ans[x]);
        }
    }
     
     
     
     
  • 相关阅读:
    正则 不匹配某个单词
    希赛 系统架构设计师教程 勘误
    QQ 快速登录中获取用户信息
    requests 配置tor代理后提示'Failed to establish a new connection: [Errno -2] Name or service not known'
    xadmin choice filter 多选
    kali linux 热点 无法获取IP
    windows10 输入法添加小鹤双拼
    del: recycle for linux
    安装WSL2
    cmake(转载)
  • 原文地址:https://www.cnblogs.com/bxd123/p/10560285.html
Copyright © 2020-2023  润新知