前缀和:

一个正整数,如果它能被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组),每组数据整数N.(1≤N≤1000000)。如果我们每一次取出一个数据都要计算与7无关的数都要进行M次运算,然后数据范围为1~1e6,所以时间复杂度为O(T*M*N);显然会超时.

于是我们运用了前缀和思想,先把数据范围内的数全部存起来,然后每次使用直接取出就行,这样时间复杂度就是O(T)+O(M*N),即O(M*N).
代码:

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <vector>
using namespace std;
const int max1=1000005;
typedef long long LL;
LL sum[max1];
int find1(LL a)
{int flag1=0;if(a%7==0){return 0;}while(a){if(a%10==7){flag1=1;break;}a/=10;}if(flag1==1)return 0;return 1;
}
int main()
{LL n,i;LL t;memset(sum,0,sizeof(sum));for(i=1;i<=1000000;i++){int flag;flag=find1(i);if(flag==1){sum[i]=sum[i-1]+i*i;}elsesum[i]=sum[i-1];}scanf("%lld",&t);while(t--){scanf("%lld",&n);printf("%lld\n",sum[n]);}return 0;}

前缀和的思想感觉就是预处理,采用空间换时间的方法,先把数据求出来,然后直接使用就行了.

与7无关的数(前缀和)相关推荐

  1. 51Nod-1082 与7无关的数【进制+打表】

    1082 与7无关的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数 ...

  2. 1082 与7无关的数(思维题,巨坑)

    1082 与7无关的数 题目来源:                 有道难题                     基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难 ...

  3. 信息学奥赛一本通 1094:与7无关的数 | OpenJudge NOI 1.5 39

    [题目链接] ybt 1094:与7无关的数 OpenJudge NOI 1.5 39:与7无关的数 [题目考点] 1. 分离整数的各位数字 对于数字a,a%10可以取到其个位,a/=10(整除)可以 ...

  4. 信息学奥赛一本通(1094:与7无关的数)

    1094:与7无关的数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 30249     通过数: 20225 [题目描述] 一个正整数,如果它能被7整除,或者它 ...

  5. Bailian2701 Bailian3864 与7无关的数【进制】(POJ NOI0105-39)

    问题链接:POJ NOI0105-39 与7无关的数 2701:与7无关的数 总时间限制: 1000ms 内存限制: 65536kB 描述 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上 ...

  6. Bailian4045 与3和5无关的数【进制+模除】

    4045:与3和5无关的数 总时间限制: 1000ms 内存限制: 65536kB 描述 一个正整数,如果它能被x整除,或者它的十进制表示法中某个位数上的数字为x,则称其为与x相关的数.现求所有小于等 ...

  7. Bailian2701 Bailian3864 POJ NOI0105-39 与7无关的数【进制】

    问题链接:POJ NOI0105-39 与7无关的数. 问题链接:Bailian Bailian3864 与7无关的数. 总时间限制: 1000ms 内存限制: 65536kB 描述 一个正整数,如果 ...

  8. 信息学奥赛一本通:1094:与7无关的数

    1094:与7无关的数 [题目描述] 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数. 现求所有小于等于n(n<100)与7无关的正整数的平方和. ...

  9. 1094:与7无关的数

    1094:与7无关的数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 35303     通过数: 23764 [题目描述] 一个正整数,如果它能被7整除,或者它 ...

  10. 与2,3,5无关的数

    题目背景 无聊的题目 出题者 Lvat2000 难度 EASY 问题描述 定义与2,3,5无关的数如下: (1)位数不得是2,3,5的倍数: (2)该数不能被2,3,5整除: (3)该数必须为整数. ...

最新文章

  1. Mapbox gl tile瓦片渲染点以及图片Icon
  2. C#:消息队列应用程序
  3. MySQL:Can't connect to mysql server 10038
  4. vscode中设置.mina语法高亮
  5. chrome源代码目录结构简介
  6. map,存储多个键值对的数据集合
  7. linux man 后面的数字,man命令后面的数字
  8. GrideView(三)---编辑功能实现
  9. 压缩感知重构算法——SP算法
  10. 第五章 PYTHON标准库
  11. USB TYPE A B C 引脚定义
  12. 《知行合一 王阳明》读书笔记
  13. React制作简易小名片
  14. STEINS;GATE ELITE(中文名《命运石之门:精英》)游戏通关流程
  15. python开发管理平台_python开发crm管理系统
  16. 教育知识与能力-第一章教育基础知识和基本原理
  17. Web字体应用修炼之道(上)
  18. VMware开机自启虚拟机系统
  19. 关于 YCbCr(YUV) 格式视频流的介绍
  20. CentOS 8 清除 DNS 缓存的方法

热门文章

  1. HDU-3072-IntelligenceSystem(tarjan,贪心)
  2. vue系列之vue cli 3引入ts
  3. ButterKnife的安装与使用以及ButterKnife右键不显示的大坑
  4. Egyptian Collegiate Programming Contest (ECPC 2015) C题 Connecting Graph
  5. Url传值的Get method and Post method
  6. net2.0如何修改用户密码的解决
  7. git rebase后无法push远程分支的问题解决
  8. gridview求和
  9. 关于php开发中用户请求数据的安全问题的一点想法
  10. Survivor空间溢出实例