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

    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。 

    Source

      By Claris

    Solution

      f(n)的最大值为9*19=171,枚举所有f(n)即可。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 int main()
     5 {
     6     ll n, k, a, b, f, ans = 0;
     7     cin >> k >> a >> b;
     8     for(ll i = 1; i <= 1500 && k * i <= b; i++)
     9     {
    10         if(k * i < a) continue;
    11         for(n = k * i, f = 0; n; n /= 10)
    12             f += (n % 10) * (n % 10);
    13         if(f == i) ans++;
    14     }
    15     cout << ans << endl;
    16     return 0;
    17 }
    View Code
  • 相关阅读:
    餐盘模拟 数据结构及其描述
    游戏心理相关
    对于问题的认知过程
    程序语言中的基础理解
    游戏聊天记录
    游戏设定
    游戏技能学习
    游戏数值学习
    游戏的系统化思维
    游戏存储数据随笔
  • 原文地址:https://www.cnblogs.com/CtrlCV/p/5356726.html
Copyright © 2011-2022 走看看