zoukankan      html  css  js  c++  java
  • bzoj4292 [PA2015]Równanie

    [PA2015]Równanie

    Time Limit: 1 Sec Memory Limit: 256 MB

    Description

    对于一个正整数n,定义f(n)为它十进制下每一位数字的平方的和。现在给定三个正整数k,a,b,请求出满足a<=n<=b且k*f(n)=n的n的个数。

    Input

    第一行包含三个正整数k,a,b(1<=k,a,b<=10^18,a<=b)。

    Output

    输出一个整数,即满足条件的n的个数。

    Sample Input

    51 5000 10000

    Sample Output

    3

    HINT

    满足的3个n分别为7293,7854和7905。


    其实 $f(n)$ 很少,所以这是一道**题。 每个 $f(n)$ 有且仅对应一个数。就好了。 ```c++

    include<bits/stdc++.h>

    using namespace std;
    long long k, a, b;

    inline int lpl(long long t)
    {
    int ret = 0;
    while(t){
    ret += (t % 10) * (t % 10);
    t /= 10;
    }
    return ret;
    }

    int main()
    {
    scanf("%lld%lld%lld", &k, &a, &b);
    long long i, ans = 0;
    for(i = 0; i <= 1911 && i <= b / k; ++i){
    if(i * k >= a && lpl(i * k) * k == i * k) ans++;
    }
    cout << ans;
    return 0;
    }

    
    写数位dp的我真的很坚强。。。。
    然后就弃疗了。。。
    心如花木,向阳而生。
  • 相关阅读:
    HDU 1564 Play a game(巴什博弈)
    威佐夫博弈(Wythoff Game)
    产生冠军 hdoj_2094 巧用set
    find your present (感叹一下位运算的神奇)
    快速排序
    深度优先搜索(DFS)
    hdoj 2075 A|B?
    基础练习 特殊回文数
    10.Nginx Rewrite重写
    07.Nginx七层负载均衡
  • 原文地址:https://www.cnblogs.com/LLppdd/p/9159153.html
Copyright © 2011-2022 走看看