博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51Nod 1433 0和5 (数论 && 被9整除数的特点)
阅读量:4953 次
发布时间:2019-06-12

本文共 810 字,大约阅读时间需要 2 分钟。

题意 : 小K手中有n(1~1000)张牌, 每张牌上有一个一位数的数, 这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张), 排成一行这样就组成了一个数。使得这个数尽可能大, 而且可以被90整除。注意:① 这个数没有前导0。② 小K不需要使用所有的牌。

 

分析 : 能被9整除的数, 其各个位数相加之后的和也是9的倍数。那能被90整除的数就相当于能加多了10倍, 即末尾加上了一个0。那只要构造一个前缀有k个5(k是9的倍数), 后缀填充0即可, 这里要注意如果没有0可选是无法构造出来的

 

#include
#include
#include
#include
#include
using namespace std;int vis[1001];int main(void){ memset(vis, 0, sizeof(vis)); for(int i=1;i*9<=1000;i++){ vis[i*9] = 1;//预处理9的倍数 } int n; scanf("%d", &n); int five = 0, zero = 0; for(int i=0; i
=9; i--) if(vis[i]) {five_num = i;break;} if(five_num==-1){ printf("0\n"); }else{ for(int i=0; i
View Code

 

 

转载于:https://www.cnblogs.com/LiHior/p/6978399.html

你可能感兴趣的文章
JZOJ 4.1 B组 俄罗斯方块
查看>>
HDU6409 没有兄弟的舞会
查看>>
2018 Multi-University Training Contest 10 - TeaTree
查看>>
HDU6205 card card card
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6198 number number number
查看>>
HDU6438 Buy and Resell
查看>>
HDU6446 Tree and Permutation
查看>>
HDU6201 transaction transaction transaction
查看>>
HDU6203 ping ping ping
查看>>
前端小笔记
查看>>
《人人都是产品经理》书籍目录
查看>>
Netsharp系列文章目录结构
查看>>
如何在git bash中运行mysql
查看>>
OO第三阶段总结
查看>>
构建之法阅读笔记02
查看>>
初学差分约束
查看>>
HEVC编码学习(一)HM配置
查看>>
通过Spark SQL关联查询两个HDFS上的文件操作
查看>>
DataTable和 DataRow的 区别与联系
查看>>