与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组),每组数据整数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无关的数(前缀和)相关推荐
- 51Nod-1082 与7无关的数【进制+打表】
1082 与7无关的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数 ...
- 1082 与7无关的数(思维题,巨坑)
1082 与7无关的数 题目来源: 有道难题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难 ...
- 信息学奥赛一本通 1094:与7无关的数 | OpenJudge NOI 1.5 39
[题目链接] ybt 1094:与7无关的数 OpenJudge NOI 1.5 39:与7无关的数 [题目考点] 1. 分离整数的各位数字 对于数字a,a%10可以取到其个位,a/=10(整除)可以 ...
- 信息学奥赛一本通(1094:与7无关的数)
1094:与7无关的数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 30249 通过数: 20225 [题目描述] 一个正整数,如果它能被7整除,或者它 ...
- Bailian2701 Bailian3864 与7无关的数【进制】(POJ NOI0105-39)
问题链接:POJ NOI0105-39 与7无关的数 2701:与7无关的数 总时间限制: 1000ms 内存限制: 65536kB 描述 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上 ...
- Bailian4045 与3和5无关的数【进制+模除】
4045:与3和5无关的数 总时间限制: 1000ms 内存限制: 65536kB 描述 一个正整数,如果它能被x整除,或者它的十进制表示法中某个位数上的数字为x,则称其为与x相关的数.现求所有小于等 ...
- Bailian2701 Bailian3864 POJ NOI0105-39 与7无关的数【进制】
问题链接:POJ NOI0105-39 与7无关的数. 问题链接:Bailian Bailian3864 与7无关的数. 总时间限制: 1000ms 内存限制: 65536kB 描述 一个正整数,如果 ...
- 信息学奥赛一本通:1094:与7无关的数
1094:与7无关的数 [题目描述] 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数. 现求所有小于等于n(n<100)与7无关的正整数的平方和. ...
- 1094:与7无关的数
1094:与7无关的数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 35303 通过数: 23764 [题目描述] 一个正整数,如果它能被7整除,或者它 ...
- 与2,3,5无关的数
题目背景 无聊的题目 出题者 Lvat2000 难度 EASY 问题描述 定义与2,3,5无关的数如下: (1)位数不得是2,3,5的倍数: (2)该数不能被2,3,5整除: (3)该数必须为整数. ...
最新文章
- Mapbox gl tile瓦片渲染点以及图片Icon
- C#:消息队列应用程序
- MySQL:Can't connect to mysql server 10038
- vscode中设置.mina语法高亮
- chrome源代码目录结构简介
- map,存储多个键值对的数据集合
- linux man 后面的数字,man命令后面的数字
- GrideView(三)---编辑功能实现
- 压缩感知重构算法——SP算法
- 第五章 PYTHON标准库
- USB TYPE A B C 引脚定义
- 《知行合一 王阳明》读书笔记
- React制作简易小名片
- STEINS;GATE ELITE(中文名《命运石之门:精英》)游戏通关流程
- python开发管理平台_python开发crm管理系统
- 教育知识与能力-第一章教育基础知识和基本原理
- Web字体应用修炼之道(上)
- VMware开机自启虚拟机系统
- 关于 YCbCr(YUV) 格式视频流的介绍
- CentOS 8 清除 DNS 缓存的方法
热门文章
- HDU-3072-IntelligenceSystem(tarjan,贪心)
- vue系列之vue cli 3引入ts
- ButterKnife的安装与使用以及ButterKnife右键不显示的大坑
- Egyptian Collegiate Programming Contest (ECPC 2015) C题 Connecting Graph
- Url传值的Get method and Post method
- net2.0如何修改用户密码的解决
- git rebase后无法push远程分支的问题解决
- gridview求和
- 关于php开发中用户请求数据的安全问题的一点想法
- Survivor空间溢出实例