题干:

在国外,666代表魔鬼,777代表上帝。

所以牛逼的彪神就非常不喜欢6这个数字。

有一天彪神突发奇想,,他想求一些书与6无关的数。

如果一个数能被6整除,或者它的十进制表示法中某位上的数字为6,则称其为与6相关的数。彪神要求所有小于等于N的与6无关的正整数的平方和。

输入描述:

 

第一行一个数T表示有T组数据。(T≤20)

后面T行数每行一个N,表示求所有小于等于N的与6无关的正整数的平方和。(N≤106)

输出描述:

T行,每行一个数表示求所有小于等于N的与6无关的正整数的平方和。

示例1

输入

复制

5
4
5
6
7
8

输出

复制

30
55
55
104
168

解题报告:

水题,打表递推一下就可以了。。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e6 + 5;
ll mod = 1e13;
ll b[MAX],bb[MAX];
int a[55];
int cf(int x) {int p = 0;while(x) {a[++p] = x%10;x/=10;}return p;
}
int main()
{for(ll i = 1; i<=(int)1e6; i++) {b[i]=b[i-1];bb[i]=bb[i-1];int p = cf(i),flag = 1;for(int j = 1; j<=p; j++) {if(a[j]==6) {flag = 0;break;}}if(i%6==0) flag=0;if(flag == 1) {b[i] += i*i;bb[i] +=b[i]/mod;b[i]%=mod;}}int t,n;cin>>t;while(t--) {scanf("%d",&n);if(bb[n]==0) printf("%lld\n",b[n]);else printf("%lld%.13lld\n",bb[n],b[n]);}return 0 ;}

总结:

晕,,这题debug一年。。思维过程是这样的、、打表的时候是用的int i打的,,所以导致i*i爆了int,,但是没发现,,还以为是最终答案爆了longlong,,开了半个高精度,,发现还是不对,,往前面查,,发现i*i爆了int,于是改成longlong,,再交还是wa,,放弃、、赛后发现高精度写挂了。。低位的数组没有按位补齐。。。然后后来简单证明了一下发现是不会超longlong的(我就说嘛如果是个高精度的坑不可能这么多人当签到题过啊)也就是这题本来就是i*i爆了int而已、、结果越改越挂了。。还有啊之前暑假那个半高精度那个题,之所以没加格式符是因为是对1e18取余,,并且取余之后低位的数组依旧是18位的,,所以不用加。

所以对这个代码中,其实把mod改成1e18,然后把main函数中的格式符去掉,就可以直接ac了

【牛客 - 318L】彪神666(水题,半高精度,递推,trick)相关推荐

  1. 牛客网——数字求和(水题

    题目描述 给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少? 输入描述: 输入一行,只包括6个小于100的正整数,其中第一个正整数就是a. 输出描述: 可能有多组测 ...

  2. 【牛客 - 1080E】tokitsukaze and Segmentation(dp,递推,思维)

    题干: 链接:https://ac.nowcoder.com/acm/contest/1080/E 来源:牛客网 tokitsukaze有一个长度为n的字符串,字符串仅包含'0'-'9'. tokit ...

  3. Day5.牛客网剑指offer 67题之43-54题(java代码)

    文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...

  4. 2020牛客国庆集训派对day2 补题J

    2020牛客国庆集训派对day2 补题J:VIRUS OUTBREAK 题目描述 The State Veterinary Services Department recently reported ...

  5. 牛客网SQL 进阶篇刷题

    牛客网SQL 进阶篇刷题(1-19) 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分: 用户1002在2021年9月4日上午7点1分2秒开始 ...

  6. Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题

    接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题   HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...

  7. 【2020年牛客暑假第九场】E题 Groundhog Chasing Death

    [2020年牛客暑假第九场]E题 Groundhog Chasing Death 质因子分解 题意 思路 方法一:先枚举iii再枚举公共质因子 Code(286ms) 方法二:先枚举公共质因子再枚举i ...

  8. 刷题系列--牛客网基础OJ编程130题(上)

    目录 前言 BC1:实践出真知 BC2 我是大V BC 3 有容乃大 BC 6 小飞机 BC 7缩短二进制 BC 8十六进制转十进制 BC 9 printf的返回值 BC 10 成绩输入输出 BC 1 ...

  9. 牛客网——小白月赛13 —— A题

    链接:https://ac.nowcoder.com/acm/contest/549/A 来源:牛客网 题目描述 这是一道签到题,主要考验比赛时的手速. 接下来是一段很简单的代码,或许你提交它就可以A ...

最新文章

  1. 数据处理系列(四) 安装Elasticsearch用以存储和查询数据
  2. (超贴心)Centos7安装2.5G网卡驱动(Realtek 3000)
  3. 人生百味,浓缩到最后就是一个淡字
  4. 一步步学习ASP.NET MVC3 (10)——@Ajax,JavaScriptResult(1)
  5. 利用OpenCV实现人脸检测
  6. Invalid Gradle JDK configuration found_build.gradle里dependencies标签页的实现原理
  7. Ubuntu下安装vim以及常用命令
  8. 如何激活windows的远程终端
  9. [转载] Python中filter筛选函数匿名参数问题
  10. vue -- router路由跳转错误 , NavigationDuplicated
  11. REPNZ SCANS
  12. Git(4):远程仓库
  13. python初学者-计算小于100的最大素数
  14. WIFI和WLAN的区别是什么
  15. 淘宝开店经验 心得 攻略
  16. [技术随笔(一)] 文件分割的两种方法
  17. kafka-connect-jdbc 增加source报错:query may not be combined with whole-table copying settings
  18. 基于PaddleSpeech搭建个人语音听写服务
  19. 位运算——强大得令人害怕
  20. 串行的blast+2.2.25本地化: blastdbcmd,makeblastdb,blastn.简介

热门文章

  1. 第五课 机器学习中的特征工程
  2. 790. Domino and Tromino Tiling
  3. [Leetcode][第120题][JAVA][三角形最小路径和][动态规划][递归]
  4. [Leedcode][JAVA][第16题][最接近的三数之和][双指针][数组]
  5. php全局cors,PHP开启CORS - slagga的个人页面 - OSCHINA - 中文开源技术交流社区
  6. python 输入正方形_Python打印正方形
  7. yum如何安装特定版本的gcc_linux下如何升级python
  8. 如何给ppt编辑页码_拒绝千篇一律:Word插入“侧边”页码,让文档别具一格!...
  9. l启动进程 linux,《日子》. linux 查看进程启动路径
  10. python的convert_python编程开发之类型转换convert实例分析