蓝桥杯 c /c++ A 组 第四题:第几个幸运数
2018-04-01 22:57
811 查看
标题:第几个幸运数
到x星球旅行的游客都被发给一个整数,作为游客编号。
x星的国王有个怪癖,他只喜欢数字3,5和7。
国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。
我们来看前10个幸运数字是:
3 5 7 9 15 21 25 27 35 45
因而第11个幸运数字是:49
小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。
请你帮小明计算一下,59084709587505是第几个幸运数字。
需要提交的是一个整数,请不要填写任何多余内容。
思路 :构造数,用当前构造出来的数依次∗3,∗4,∗5∗3,∗4,∗5,如果构造出来的数比幸运数字大就舍弃,轮到幸运数去∗3,∗4,∗5∗3,∗4,∗5 时,set的长度即为幸运数字的序号
输出 前 1905 个幸运数
到x星球旅行的游客都被发给一个整数,作为游客编号。
x星的国王有个怪癖,他只喜欢数字3,5和7。
国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。
我们来看前10个幸运数字是:
3 5 7 9 15 21 25 27 35 45
因而第11个幸运数字是:49
小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。
请你帮小明计算一下,59084709587505是第几个幸运数字。
需要提交的是一个整数,请不要填写任何多余内容。
思路 :构造数,用当前构造出来的数依次∗3,∗4,∗5∗3,∗4,∗5,如果构造出来的数比幸运数字大就舍弃,轮到幸运数去∗3,∗4,∗5∗3,∗4,∗5 时,set的长度即为幸运数字的序号
#include<bits/stdc++.h> using namespace std; typedef long long LL; const LL Max = 59084709587505; int a[3] = {3,5,7}; void Find(LL Max) { set<LL> se; LL t = 1; while(1) { for(int i = 0; i < 3; ++i) { LL tt = t*a[i]; if(tt <= Max) se.insert(tt); } t = *se.upper_bound(t); if(t == Max) break; } set<LL>::iterator it; for(it = se.begin(); it != se.end(); ++it) cout<<*it<<endl; cout<<"answer = "<<se.size()<<endl; } int main(void) { // int a[3] = {3,5,7}; // int b[3] = {0,0,0}; // LL t = Max; // for(int i = 0;i < 3; ++i) // while(t % a[i] == 0) // b[i]++,t /= a[i]; // for(int i = 0;i < 3; ++i) // cout<<b[i]<<endl; Find(Max); return 0; }
输出 前 1905 个幸运数
相关文章推荐
- 蓝桥杯 B组c++第四题 6*6正方形裁剪猜想
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第四题:史丰收速算(7' )
- 第八届蓝桥杯c++大学A组(省赛)——第四题
- 2014年第五届蓝桥杯C++B组第四题:史丰收速算
- 蓝桥杯第五届C/C++A组第四题 史丰收速算
- 2016第七届蓝桥杯C/C++ B组省赛第四题
- 2018年第九届蓝桥杯【C++省赛B组】【第四题:测试次数】
- (2017)第八届蓝桥杯大赛个人赛省赛(软件类) C/C++ 大学A组 题解(第三题和第四题)
- 第六届蓝桥杯A组C/C++ 第四题 格子中输出
- 第六届蓝桥杯C++B组第四题:格子中输出
- 第六届蓝桥杯C/C++A组第四题解答
- 2014蓝桥杯本科B组C/C++第四题【史丰收速算】
- 2017第八届蓝桥杯C/C++ B组省赛第四题 dfs
- 蓝桥杯省赛 第几个幸运数
- 第八届蓝桥杯C++B组第四题:方格分割
- 【快速排序】(2016)第七届蓝桥杯省赛 C/C++ A组 题解(第四题)
- 【Java实现】2012蓝桥杯C++高职组第四题——巧排扑克牌
- 2016第七届蓝桥杯C++B组第四题:快速排序
- 2013 蓝桥杯第四届c/c++B组 解题报告(完全解决第四题,代码有点长....)
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第四题:史丰收速算(7' )