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

制作网站需要哪些技术遵义发布

制作网站需要哪些技术,遵义发布,建设网站应该注意的地方,深圳做网站(官网)美团8-30:编程题题目1思路代码题目2思路代码题目1 小美有一个数字 n,小美打算按照以下规则对 n 进行操作: 如果n是偶数,让n除以2; 否则,让 n 乘以 3 再加 1。 小美想知道,在操作k次后,n 会变成多少。 思路 这道题…

美团8-30:编程题

  • 题目1
  • 思路
  • 代码
  • 题目2
  • 思路
  • 代码

题目1

小美有一个数字 n,小美打算按照以下规则对 n 进行操作:
· 如果n是偶数,让n除以2;
· 否则,让 n 乘以 3 再加 1。
小美想知道,在操作k次后,n 会变成多少。

思路

这道题的思路首先肯定是进行模拟即我们使用一个循环来对n进行一步一步的操作,这种方法理论是可行的但是题目是有时间要求的。所以只要k变得很大就肯定会超时,所以这种方法没法完全ac。那么我们就要思考有没有其他的情况可以简化循环了,光想肯定是没法得到答案的我们试着给前面十个数字的转换过程写一下,首先是1,它是奇数所以会变成4,然后4是偶数又变成2,2是偶数又变成1。这不是变成一个循环了吗即1241…的循环,那么只要n变成了1我们就只需要让剩下的操作次数取余一个3,这样得到的数字不就分别对应着1,2,4吗。

代码

#include <iostream>
using namespace std;int main()
{int n,k;cin >> n >> k;if(k == 0){cout << n << endl;}//最后n会陷入1 2 4 1的循环所以我们先看n会不会变成1while(k > 0 && n != 1){if(n % 2 == 0){n /= 2;}else{n *= 3 + 1;}k--;}if(k == 0){cout << n << endl;}else{k %= 3;if(k == 0){cout << 1 << endl;}else if( k == 1){cout << 2 << endl;}else if( k == 2){cout << 4 << endl;}}return 0;
}

题目2

小美是一位数学爱好者,她想知道给定的有理数在 k 进制下是否为一个 有限小数。换句话说,她希望判断在基数为k的表示中,该分数的小数部分是否会在有限位后结束,而不是无限循环。
例如,-1/2 在十进制下表示为 0.5,是有限小数;相比之下,1/3在十进制下表示为 0.3333…,不是有限小数。

思路

看了题目之后我们必须要知道的一点就是如何判断一个分数在k进制下是有限小数,这涉及到数学知识了。答案是:一个分数在k进制下想要是有限小数那么它的最简分母的质因子必须全部包含在k的质因子里,也就是说最简分母的质因子和k的质因子是一个包含关系,k的质因子包含最简分母的质因子。
那么质因子是什么呢?官方定义是质因子(质因数)是指能整除给定正整数的质数。例如,12 的质因子是 2 和 3,因为 12 = 2 × 2 × 3。
那么我们在得到一个分数后首先要做的就是进行化简,想要化简就必须找到分子分母的最大公约数而寻找最大公约数的办法有很多我们使用最简单的辗转相除法。在得到最简分母后我们就需要寻找分母和k的公共质因子,同样我们也可以使用寻找分母和k的最大公约数的办法,在得到质因子后我们让分母除以质因子,然后再次寻找与k的质因子再除以质因子。以此循环直到质因子为1就代表分母和k的所有的质因子都找到了,这时候如果分母为1就代表这个分母的质因子是包含在k里面的,如果不为1说明这个分母还有其他的质因子。

代码

#include<iostream>
using namespace std;long long gcd(long long p, long long q)
{//辗转相除法while (p != 0){long long tmp = q % p;q = p;p = tmp;}return q;
}bool checkcycle(long long p, long long q, long long k)
{//如果最简分母的质因子包含在k的质因子里就说明这个分数是有限小数//求分子分母的最大公约数从而得到最简分母long long sq = gcd(p, q);q = q / sq;//如果最简分母为1则返回trueif (q == 1){return true;}//求得q和k的质因子也就是最大公约数long long d = gcd(q, k);while (d != 1){q /= d;d = gcd(q, k);}if (q == 1){return true;}else{return false;}
}int main()
{int t;cin >> t;while (t--){long long p, q, k;cin >> p >> q >> k;if (p == 0){cout << "yes" << endl;}bool res = checkcycle(p, q, k);if (res == true)cout << "yes" << endl;elsecout << "no" << endl;}return 0;
}
http://www.dtcms.com/a/479981.html

相关文章:

  • devexpress网站开发企业网站模板科技感
  • 淄博便宜网站设工程建设标准化
  • 免费网站怎么建立可以做配音兼职的网站
  • 企业网站seo推广技巧点餐系统微信小程序
  • 黑科技软件合集网站element ui做门户网站
  • 网站后台文本编辑器新泰网站制作
  • 31. Unity游戏对象的渲染顺序
  • 网站外包价格 北京网站制作公司网页制作模板ppt制作
  • dede网站站内推广方法扬州广陵城乡建设局网站
  • 广州做蛋糕的网站WordPress获取标签名字
  • 个人网站备案 费用wordpress 图片排版
  • sns网站社区需求分析文档佛山人才招聘网
  • 网站须知wordpress导航菜单代码
  • 网站负责人备案采集照具体要求南昌个人做网站
  • 云南省科技网站无锡哪家做网站好
  • 短视频网站怎么建设做网站只有域名
  • 一个虚拟主机绑定2个网站大学做视频网站
  • 石油工程建设协会网站网站域名哪看
  • 广西建设科技在线网站免费建站资源
  • 医疗网站源码云主机挂游戏
  • 帝国网站管理系统后台电子商务网站设计岗位的技能要求
  • 专门做婚庆的网站灵犀科技网站开发佼佼者
  • 万网制作网站吗做动漫图片的网站
  • 文山建设局网站大连网页设计制作公司
  • 免费建立网站步骤购物网站APP
  • 如何制作网站教程视频讲解站长之家排行榜
  • 大模型学习大纲
  • 网站建设中网页模板网站制作案例怎么样
  • 做网站客源一流高职院校建设网站
  • c2c网站管理系统下载做摄影网站公司