zoukankan      html  css  js  c++  java
  • 与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个测试的计算结果。Sample Input

    5
    4
    5
    6
    7
    8

    Sample Output

    30
    55
    91
    91
    155
    题解:先将1000以内与7有关的数打个表,用sum[i],记录前i个数与7有关数的平方和(前缀和),接下来n次查询即可
     1 #include<cstring>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #define Inf 0x3f3f3f3f
     5 #define  ll   long long
     6 using namespace std;
     7 ll sum[1000003];
     8 int main()
     9 {
    10     ll  i,j,m,n,t,k;
    11     memset(sum,0,sizeof(sum));
    12     for(i=1;i<=1000001;i++)
    13     {
    14         ll flag=0;
    15         if(i%7==0)
    16             flag=1;
    17         else
    18         {
    19            k=i;
    20            while(k)
    21            {
    22                if(k%10==7)
    23                {
    24                    flag=1;
    25                    break;
    26                }
    27                k/=10;
    28            }
    29 
    30         }
    31         if(!flag)
    32             sum[i]=sum[i-1]+i*i;
    33         else
    34             sum[i]=sum[i-1];
    35 
    36 
    37     }
    38     scanf("%lld",&m);
    39    while(m--)
    40    {
    41        scanf("%lld",&n);
    42        printf("%lld
    ",sum[n]);
    43    }
    44 return 0;
    45 
    46 
    47 }
    View Code

    平方和



  • 相关阅读:
    怎样用HTML5 Canvas制作一个简单的游戏
    js面向对象
    javascript闭包
    javascript变量的作用域
    5-22
    5-23
    14-5-21 硬代码
    14-5-19 类和对象
    array
    生成干扰线
  • 原文地址:https://www.cnblogs.com/moomcake/p/9343323.html
Copyright © 2011-2022 走看看