• 51Nod


    一个正整数,如果它能被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个测试的计算结果。Sample Input

    5
    4
    5
    6
    7
    8

    Sample Output

    30
    55
    91
    91
    155

    一开始没有什么思路,以为是什么特殊的数,后来才想起来给的数并不大,直接暴力判一下数的每一位是否有7就可以了。
    先暴力打个表。

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 #include<math.h>
     5 #include<algorithm>
     6 #include<queue>
     7 #include<stack>
     8 #include<deque>
     9 #include<iostream>
    10 using namespace std;
    11 long long ans[1000009];
    12 void init()
    13 {
    14     long long i,p,j;
    15     long long sum=0;
    16     for(i=1;i<=1000007;i++)
    17     {
    18         j=i;
    19         if(j%7!=0)
    20         {
    21             while(j)
    22             {
    23                 p=j%10;
    24                 if(p==7)
    25                     break;
    26                 j/=10;
    27             }
    28             if(j==0)
    29             {
    30                 sum+=i*i;
    31                 ans[i]=sum;
    32             }
    33             else
    34                 ans[i]=sum;
    35         }
    36         else
    37             ans[i]=sum;
    38     }
    39 }
    40 int main()
    41 {
    42     int i,p,j;
    43     int t,n;
    44     long long sum;
    45     init();
    46     scanf("%d",&t);
    47     for(i=1;i<=t;i++)
    48     {
    49         scanf("%d",&n);
    50         printf("%lld
    ",ans[n]);
    51     }
    52     return 0;
    53 }
    View Code
  • 相关阅读:
    git切换仓库 小记
    修改prometheus默认端口,修改grafana默认端口
    Redisson报错
    Windows IDEA Community 报错
    Debouncer防抖代码
    IDEA通用配置
    Jackson通用工具类
    SpringBoot接入两套kafka集群
    博客园什么时候有的高低贵贱制度???
    致已经逝去的2020和已经到来的2021
  • 原文地址:https://www.cnblogs.com/daybreaking/p/9375636.html
Copyright © 2020-2023  润新知