当前位置: 首页 > wzjs >正文

广东购物网站建设汽车网络营销推广方案

广东购物网站建设,汽车网络营销推广方案,2345影视大全最新版2021下载安装,网站有风险提示怎么办题目&#xff1a; 2<k<9 1<n<30 解答&#xff1a; 题目不难&#xff0c;但是比较复杂。首先缺人不能用遍历所有十进制数&#xff0c;判断其是否为10和k进制数的方法&#xff0c;时间必超&#xff1b;因此选择构造10进制回文数&#xff0c;判断其是否为k进…

题目:

2<=k<=9        1<=n<=30

解答:

题目不难,但是比较复杂。首先缺人不能用遍历所有十进制数,判断其是否为10和k进制数的方法,时间必超;因此选择构造10进制回文数,判断其是否为k进制回文数

先编写函数解决一些工具性的问题。

计算k进制回文数

bool k_p_num(long long num,int k){if(num%k==0) return false;//判断是否满足k回文long long numtemp=num;long long p_num=0;while(num){p_num=p_num*k+num%k;num=num/k;}if(numtemp==p_num)return true;else return false;
}

构造十进制回文数

//构造n位的十进制回文数
long long p_num(long long num){//求十进制回文long long p_num = 0;while(num){p_num=p_num*10+num%10;num=num/10;}return p_num;
}

构造n位的数字,所有可能的10进制回文数,并判断其是否为k进制回文数

参数:n为当前构造的数字位数;rem_n为题目中的n的余量,即n-([1,n-1]所构造的满足十进制、k进制回文数的个数);k为进制

分n=1,n为非1奇数,n为偶数三种情况。

回文数左右对称,只需要遍历左边一串即可。奇数情况下还要考虑中间的数的情况。从小到大生成,假设左边的为3位,那么就是[100-999],右边用左边数的回文数即可,然后两个数加上奇数情况下的中间位进行从小到大的遍历,用10的次方加权去拼成需要构造的回文数即可。

//remk参:剩余的 n ,为 0 时break
vector<long long> palindromic_number(int n,int rem_n,int k){vector<long long> n_palindromic;//n为位数if(n==1) {for(int i=1;i<10;i++){if(k_p_num(i,k)){n_palindromic.push_back(i);rem_n--;if(rem_n==0) return n_palindromic;}}return n_palindromic;}//奇数//构造:n=5 为例 10001-99999//left:(10-99) right:0-9  left-right-leftelse if(n%2==1){for(long long left=pow(10,(n-1)/2-1);left<=pow(10,(n-1)/2)-1;left++){long long p_left=p_num(left);for(int right=0;right<=9;right++){//构造回文数://left    right    left回文//(n-1)/2   1     (n-1)/2  位数long long ans = left*pow(10,(n-1)/2+1)+right*pow(10,(n-1)/2)+p_left;if(k_p_num(ans,k)){//满足构造的ans为k回文数n_palindromic.push_back(ans);rem_n--;if(rem_n==0) return n_palindromic;}}}return n_palindromic;}else {for(long long i=pow(10,n/2-1);i<=pow(10,n/2)-1;i++){//构造回文数: i     i逆序//           n/2   n/2    //回文数=i*n/2位+i逆序=(i+1)*n/2位-1-i  long long p_i = p_num(i);long long ans = i*pow(10,n/2)+p_i;if(k_p_num(ans,k)){//满足构造的ans为k回文数n_palindromic.push_back(ans);rem_n--;if(rem_n==0) return n_palindromic;}}}return  n_palindromic;
}

 main:

class Solution {
public:long long kMirror(int k, int n) {int i=1;vector<long long> ans;while(n){vector<long long> temp=palindromic_number(i,n,k);n-=temp.size();ans.insert(ans.end(),temp.begin(),temp.end());i++;}long long ansall=0;int len = ans.size();for(int i=0;i<len;i++){ansall+=ans[i];}return ansall;}
};

复杂度是n、k的函数

http://www.dtcms.com/wzjs/520074.html

相关文章:

  • 如何用百度搜自己做的网站百度云盘网页登录入口
  • 网站建设教程照片seo的基础是什么
  • 免费b站在线观看人数在哪里品牌营销策略研究
  • 青岛网站建设有限公司万网域名管理平台
  • b2c网站的认识西安网站关键词排名
  • 专业做鞋子的网站吗产品市场营销策划方案
  • 怎么做网站认证研究生培训机构排名
  • 义乌个人兼职做建设网站亚马逊关键词排名提升
  • 虚拟机上做网站重庆seo论坛
  • 充值网站怎么做搜索引擎推广文案
  • 响应式网站设计稿网络营销服务商有哪些
  • 如何用公司名称搜到公司网站网站建设方案范文
  • 手机网站的尺寸做多大的精准引流推广团队
  • 巴青网站制作职业培训机构排名
  • wordpress建淘宝客网站教程北京做网站的公司有哪些
  • 网站留白成人培训机构
  • 网站备案百度站长提交重庆网站seo公司
  • wordpress怎么批量把定时的文章发布出去北京seo优化哪家公司好
  • 广州网站建设系统云优客seo排名公司
  • 个人网站不能有盈利性质如何自建网站?
  • wordpress 开启链接江苏网站seo营销模板
  • 网站做的优化 怎么排名靠后了seo关键词优化平台
  • 天津做网站选津坤科技网络营销常用的工具
  • 怎么在百度建网站chrome手机版
  • 专门做图片的网站cms2022年时事政治热点汇总
  • 如何提高网站的搜索品牌运营策划
  • 发展和建设委员会官方网站网上销售渠道
  • 用html怎么做网站尾部学软件开发学费多少钱
  • 找设计公司上哪个网站公司模板建站
  • 源码怎样做网站关键词优化公司如何选择