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

微商城开店莱芜seo推广

微商城开店,莱芜seo推广,nft制作网站,建安培训官网题解:ABC276D - Divide by 2 or 3 题目 链接:Atcoder。 链接:洛谷。 难度 算法难度:入门。 思维难度:入门。 调码难度:入门。 综合评价:极简。 算法 数论。 思路 由大脑可知&#x…

题解:ABC276D - Divide by 2 or 3

·题目

链接:Atcoder。

链接:洛谷。

·难度

算法难度:入门。

思维难度:入门。

调码难度:入门。

综合评价:极简。

·算法

数论。

·思路

由大脑可知,最后得到的相等的数一定是所有数的gcd,所以先求出所有数的gcd,之后依次遍历每一个数,求出该数能否除以2、3变成gcd(如果不能直接输出-1退出程序,否则继续做),以及若能变成gcd一共要除多少次(加到ans里)。若没有中途退出,就把ans输出。

·代价

O(n),A掉。

·细节

实现gcd时可以定义一个g记录,先输入a[1],把g设成a[1],之后通过辗转相除法求出所有数的观察到。

对于上文中提到的两个问题,我们可以对a[i]与g作商,并把该数反复除以2、3直到无法整除或已经除到1,如果是无法整除,就说明无法完成任务,否则把除的次数加到ans里。

·代码

#include<bits/stdc++.h>
#define N 1100
using namespace std;
int a[N]={},g=0,ans=0,n=0;
int gcd(int a,int b);
int main(){scanf("%d%d",&n,&a[1]);g=a[1];for(int i=2;i<=n;i++){scanf("%d",&a[i]);g=gcd(g,a[i]);}for(int i=1;i<=n;i++){int tmp=a[i]/g;while(tmp>1&&tmp%2==0){tmp/=2;ans++;}while(tmp>1&&tmp%3==0){tmp/=3;ans++;}if(tmp!=1){printf("-1\n");return 0;}}printf("%d\n",ans);return 0;
}
int gcd(int a,int b){if(a<b){return gcd(b,a);}if(b==0){return a;}return gcd(b,a%b);
}

·注意

gcd千万不要把初始值设置成1,再和每个数运算,否则会直接WA掉。

http://www.yayakq.cn/news/800711/

相关文章:

  • php公司网站企业网站建设可行性分析 技能训练
  • 视频网站主持人电商推广工作内容
  • 网站名称如何设置林州建筑网
  • 做网站如何避免侵权wordpress 跳转 微信
  • 电子商务网站开发与设计百度推广要企业自己做网站吗
  • 模板手机网站建设宝宝投票网站怎么做
  • 乔拓云建站平台网页设计与制作考试
  • 学校网站建设开题报告书公司做网站宣传怎么做
  • 一般的网站开发语言用什么百度高级搜索页面
  • 上海企业建站工具常用网站如何在桌面做快捷方式
  • 网站建设与百度推广种子搜索器
  • 做购物商城网站设计参考文献 教学网站建设
  • 建设银行手机短信网站怎么开通怎么免费建立网店网站
  • 网站制作方案在哪找企业网站开发模板
  • 如何做网站直播入口搭建跨境电商平台
  • 镇江网站制作公司重庆商城网站建设地址
  • 外贸网站谷歌推广手机app软件开发需要多少钱
  • 江西天亿建设有限公司网站如何建设自己企业网站
  • 导航网站 wordpress做公益网站怎么赚钱
  • 贵州省住房和城乡建设厅网站打不开太仓网站优化
  • 怎么知道自己网站的权重iis创建网站
  • 站长工具端口扫描视频当背景图片 网站开发
  • 做网站的知识京津冀协同发展心得体会
  • 一一影视网站源码网站建设质量保证
  • 网站建设策划方案pptwordpress做商城网站吗
  • 宁夏建设工程招投标管理中心网站武夷山网站定制
  • 新乡做网站推广手机网站菜单
  • 学做网站在什么地方学石家庄seo网络推广
  • 域名网站备案资源最多的磁力搜索引擎
  • 有专门学做衣服网站菠菜网站怎么建设