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

学做蛋糕什么网站网站的建设方面

学做蛋糕什么网站,网站的建设方面,app界面设计欣赏,房产中介网站建设的目的前言 本来排名是20的,不过第一题有点输出bug,最后实际测出来又重新排名,刚好卡在第10。但是考试报告好像过了12小时就下载不到了,所以就只写题目求解的JS函数吧。 1. 幸运数字 小艺定义一个幸运数字的标准包含3条: 仅包含4或7幸…

前言

本来排名是20的,不过第一题有点输出bug,最后实际测出来又重新排名,刚好卡在第10。但是考试报告好像过了12小时就下载不到了,所以就只写题目求解的JS函数吧。

1. 幸运数字

小艺定义一个幸运数字的标准包含3条:

  1. 仅包含4或7
  2. 幸运数字的前半部分数字之和等于后半部分数字之和
  3. 数字长度是偶数

JS技巧:在通过readLine().trim()函数读取输入后别使用模板的parseInt()转成整数,而是直接对获取的字符串进行操作。

function luckyNumber(str){if(str.length % 2 != 0) return false;// 因为前半部分和后半部分的长度相同、和也相同,故前半部分的4的个数必定等于后半部分4的个数,同理,7也相等。// 遇到前半部分相加,后半部分就相减,最后得到0即可。let count4 = 0;let count7 = 0;    for(let i=0;i<str.length/2;i++){if(str[i] !== '4' && str[i] !== '7'){return false;}if(str[i] == '4'){count4++;}else{count7++;}}for(let i=str.length/2;i<str.length;i++){if(str[i] !== '4' && str[i] !== '7'){return false;}if(str[i] == '4'){count4--;}else{count7--;}}if(count4 == 0 && count7 == 0) return true;return false;
}

2. 连续进球

小明投篮,罚球线投球可得1分,在三分线内投篮得分可以得到2分,在三分线以外的地方投篮得分可以得到3分,连续投进得分累计。
一旦有一个球没投进则得分清零,重新计算。
现给出所有得分记录(清零不计入得分),请你计算一下小明 最多连续投进多少个球?

说明:

  • 由于需要计算最多连续投的个数,所以转化为分数递增的最长长度即可。
  • 好像CSDN给出的数据比较友好,清零的数据不会给出。也就是说得分数组不含0。
function maxBall(scoreArr){if(scoreArr.length == 0) return 0let count = 1;let maxCount = 1;for(let i = 1;i<scoreArr.length;i++){if(scoreArr[i] > scoreArr[i-1]){count++;maxCount = Math.max(count,maxCount);}else{count = 1;}}maxCount = Math.max(count,maxCount)return maxCount;
}

3. 货币种类

X国发行货币最高面额为n。 次高面额为n的因子。 以此类推。 X国最多发行多少种货币。

吐槽: 给出输入n = 10 ,输出货币种类3种。
这题没说清楚,类推的规律是什么,只能根据答案反推是 货币为 10 5 1
低级的货币面额是高一级货币面额的最大因子

function moneyKinds(n){let result = 1;//每个数必包含因子1while(n!=1){result++; //先加上当前面额for(let i=2;i<=n;i++){if(n%i==0){n=n/i; //找到最大的因子break;}}}return result;    
}

4. 黑板擦末尾数字

小明选择了一个正整数X,然后把它写在黑板上。
然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。
在整个过程中,小明会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum.
例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564.
小明现在给出一个sum,小明想让你求出一个正整数X经过上述过程的结果是sum.

思路,这题采用有剪枝条件的暴力模拟,穷举X,然后一遍遍模拟加上去。
先给出我们穷举X的起始值,证明:

因为每次擦除末尾数字 = X/10 (保留整数)
X+X/10+X/10/10+...=sumX + X/10 + X/10/10 + ... = sum X+X/10+X/10/10+...=sum
等式两端再除10:
X/10+X/10/10+X/10/10/10+...=sum/10X/10 + X/10/10 + X/10/10/10 + ... = sum/10 X/10+X/10/10+X/10/10/10+...=sum/10
两式对应相减,可以得到一个X上限值:
X−X/10/10/10...(个位)=sum−(sum/10)X - X/10/10/10...(个位 ) = sum - (sum / 10) XX/10/10/10...(个位)=sum(sum/10)
也就是说X减去它的个位数 = sum - sum/10
X>sum−(sum/10)X > sum - ( sum / 10 ) X>sum(sum/10)
至此,我们从sum - (sum / 10) 开始枚举,不断增大假设值即可。
同时穷举次数应该不超过10次。

// 返回-1 说明找不到
function findX(sum){let X = sum - Math.floor(sum / 10)while (1){let x = X;let nowSum = x;while (x){x = Math.floor(x/10);nowSum += x;}if (sum == nowSum){//找到这个整数break;}else if (sum_result < sum){ //sum小,就增大XX++;}else{    //sum大,说明超出,找不到了。X = -1;break;}}return X;
}
http://www.yayakq.cn/news/22086/

相关文章:

  • 联想服务器怎么建设第二个网站html网页设计作业源代码
  • 办事处网站建设惠州关键词排名优化
  • 西安未央区网站建设建网站公司的资质需要哪些
  • 平台网站建设哪家好wordpress怎样发询盘
  • 电商网站页面免费程序网站
  • 食品网站app建设方案wordpress相关文章源文件
  • 化妆品网站建设策划书中国建筑装饰装修网
  • 网站 公司形象免费自助建站网站一览
  • 服饰的网站建设怎么写网站建设与运营
  • 科技部网站公布首批创新型县(市)建设名单印刷公司网站模板
  • 手机网站建设模板wordpress循环文章
  • 毕业设计做网站还是系统好个人网页制作ps
  • wap网站如何做网页设计与制作步骤
  • 西安做网站公司哪家比较好中企动力建设网站怎么样
  • 中国建设银行用e路这么进网站衡水做网站价格
  • 广州机械网站建设外包天津市免费建站
  • 网站的维护怎么做在线代理访问
  • 肥乡网站建设青岛手机网站设计公司
  • 环保公司网站建设内容免版权费自建网站
  • 福建做网站公司注册劳务公司流程和费用
  • 已经备案的网站新增ip怎么做有哪些网站是html5的
  • 网站开发专业毕业设计网站建设 盈科
  • 宁夏住宅建设发展公司网站公司进门logo形象墙
  • 网站生成word程序员wordpress插件
  • 知名的咨询行业网站制作婚纱礼服外贸网站
  • 很多搜索词网站怎样做东莞企业网站找谁
  • 做网站需要服务器吗注册网站会不会有风险
  • 东阳网站建设公司摄影网站开发背景怎么写
  • 汕头站扩建后比哪个站大网上商城网站名称
  • 做油漆稀料用哪个网站wordpress服务