zoukankan      html  css  js  c++  java
  • [51nod] 1082 与7无关的数

    一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数。求所有小于等于N的与7无关的正整数的平方和。
     
    例如:N = 8,<= 8与7无关的数包括:1 2 3 4 5 6 8,平方和为:155。
    Input
    第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 1000)
    第2 - T + 1行:每行1个数N。(1 <= N <= 10^6)
    Output
    共T行,每行一个数,对应T个测试的计算结果。
    Input示例
    5
    4
    5
    6
    7
    8
    Output示例
    30
    55
    91
    91
    155

    数据量太大,暴力打表 递推求出每个数对应的与7无关的数
    i*i注意用 long long 否则会爆掉
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    #define maxn 1000010
    long long seven[maxn];
    
    bool IsReleta(int n)
    {
        if (n % 7 == 0)
            return 1;
        int flag = 0;
        int t;
        while (n) {
            t = n % 10;
            if (t == 7) {
                flag = 1;
                break;
            }
            n /= 10;
        }
        if (flag) return 1;
        else return 0;
    }
    
    void table ()
    {
       for(long long i = 1; i < maxn; i++) {
            if (!IsReleta(i))
                seven[i] = seven[i-1] + i*i;
            else
                seven[i] = seven[i-1];
       }
    }
    
    int main()
    {
        int T;
       cin >> T;
       memset(seven, 0, sizeof(seven));
       table();
    
        while (T--) {
            int n;
            cin >> n;
           cout << seven[n] << endl;
        }
    
    
        return 0;
    }
     
  • 相关阅读:
    百度点聚合功能,自定义针头功能
    iOS之极光推送
    iOS之短信认证
    iOS FMDB
    iOS 远程推送
    iOS之本地推送(前台模式与后台模式)
    iOS指纹识别
    关于——GCD
    关于——NSThread
    给label text 上色 && 给textfiled placeholder 上色
  • 原文地址:https://www.cnblogs.com/whileskies/p/7082586.html
Copyright © 2011-2022 走看看