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

怎么判断网站好坏南京重庆网站建设

怎么判断网站好坏,南京重庆网站建设,自己做盗版小说网站吗,泰州seo网络公司题目:奇怪的捐赠 题目来源:1.奇怪的捐赠 - 蓝桥云课 题目描述 需要将 100 万(1,000,000)正好分成若干个 7 的次方形式的数(如 7^01, 7^17, 7^249 等),且每种金额(即每个 7 的次方…

题目:奇怪的捐赠

题目来源:1.奇怪的捐赠 - 蓝桥云课

题目描述

需要将 100 万(1,000,000)正好分成若干个 7 的次方形式的数(如 7^0=1, 7^1=7, 7^2=49 等),且每种金额(即每个 7 的次方)的使用次数不能超过 5 份。

解题思路

  1. 列出所有小于 100 万的 7 的次方

    • 计算 7 的各次方:7^0 = 1, 7^1 = 7, 7^2 = 49, 7^3 = 343, 7^4 = 2401, 7^5 = 16807, 7^6 = 117649, 7^7 = 823543。
    • 注意 7^8 = 5764801 已超过 100 万,因此只取 7^0 到 7^7。
  2. 贪心策略

    • 从最大的 7 的次方(823543)开始,尽可能多地使用,但不超过 5 次。
    • 计算剩余金额,再对次大的 7 的次方重复此过程,直到剩余金额为 0 或无法继续分解。
  3. 实现步骤

    • 用数组存储 7 的次方。
    • 从大到小遍历数组,计算当前金额能用几次该次方(不超过 5 次)。
    • 更新剩余金额并记录使用的总份数。
    • 最后检查是否正好分解为 100 万。

代码实现

#include <iostream>
using namespace std;int main() {ios::sync_with_stdio(0);  // 加速输入输出cin.tie(0); cout.tie(0);int sum = 0;           // 记录总份数int num = 1000000;     // 初始金额 100 万// 7 的次方数组,从 7^0 到 7^7int ter[] = {1, 7, 49, 343, 2401, 16807, 117649, 823543}; // 从最大的 7 的次方(索引 7)到最小的(索引 0)for (int i = 7; i >= 0; i--) { int temp = num / ter[i];  // 计算当前金额能用几次 ter[i]if (temp > 5) {           // 限制最多使用 5 次temp = 5;}sum += temp;              // 累加使用的份数num -= temp * ter[i];     // 更新剩余金额}// 检查是否正好分解完成if (num == 0) {cout << sum << endl;      // 输出总份数} else {cout << "无法用给定条件表示 1000000。" << endl;}return 0;
}

运行结果分析

计算过程:

  1. num = 1000000,ter[7] = 823543:
    • 1000000 / 823543 = 1 < 5,取 1 次,sum = 1,num = 1000000 - 823543 = 176457。
  2. num = 176457,ter[6] = 117649:
    • 176457 / 117649 = 1 < 5,取 1 次,sum = 2,num = 176457 - 117649 = 58808。
  3. num = 58808,ter[5] = 16807:
    • 58808 / 16807 = 3 < 5,取 3 次,sum = 5,num = 58808 - 3 * 16807 = 8387。
  4. num = 8387,ter[4] = 2401:
    • 8387 / 2401 = 3 < 5,取 3 次,sum = 8,num = 8387 - 3 * 2401 = 1184。
  5. num = 1184,ter[3] = 343:
    • 1184 / 343 = 3 < 5,取 3 次,sum = 11,num = 1184 - 3 * 343 = 155。
  6. num = 155,ter[2] = 49:
    • 155 / 49 = 3 < 5,取 3 次,sum = 14,num = 155 - 3 * 49 = 8。
  7. num = 8,ter[1] = 7:
    • 8 / 7 = 1 < 5,取 1 次,sum = 15,num = 8 - 7 = 1。
  8. num = 1,ter[0] = 1:
    • 1 / 1 = 1 < 5,取 1 次,sum = 16,num = 1 - 1 = 0。

输出:

  • num = 0,说明 100 万被成功分解。
  • sum = 16,即需要 16 份。

最终输出:16

注意事项

  1. 正确性验证

    • 823543 * 1 + 117649 * 1 + 16807 * 3 + 2401 * 3 + 343 * 3 + 49 * 3 + 7 * 1 + 1 * 1 = 1,000,000。
    • 每项使用次数均不超过 5,符合条件。
  2. 边界情况

    • 如果题目金额不是 100 万,需检查是否能被 7 的次方分解且满足限制条件。
  3. 优化空间

    • 当前代码已足够高效,时间复杂度为 O(1),因为数组长度固定。
  4. 注意 7 0 7^0 70 也算 7 的若干次方,主包这里没注意成蠢货了。

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

相关文章:

  • 永平建设有限公司网站wordpress 4.0 4.6
  • 谁有手机网站惠州房产网
  • 河北省网站备案系统网站建设的er图
  • 云主机如何建网站黄石有没有做网站的
  • 做外贸都有哪些网站php网站建设课程作业
  • 三五互联做的网站怎么样专业做电子的外贸网站
  • 如何在网站页面添加代码网站模板分类
  • 建站平台和网站开发的区别衡阳网站优化方案
  • 网站中的图片必须用 做吗网站的话术
  • wordpress建站两秒打开sem竞价代运营
  • 合肥企业网站排名优化电商网站的宣传推广
  • 小程序在哪个网站做彬县网站建设
  • 平台网站如何做推广跨境电商怎么做shopee
  • 做网站吸引客户怎样自己做淘宝客网站
  • 我的世界做弊端网站广州冼村在哪个区
  • 学院路网站建设乐陵森源木业全屋定制
  • 网站可以建几个人注册代理公司流程及费用
  • 网站title中国航空集团建设开发有限公司网站
  • 设计上海兼职网站建设九江公司注册
  • 网站建设 价格低网站排名怎么做
  • 帝国系统怎样做网站地图wordpress ad widget
  • 网站 被攻击主业篡改 被黑了 织梦做的站佛山网站建设首页排名
  • 手机网站制作系统移动端网站开发公司
  • 实用的企业网站优化技巧上传文件生成链接下载
  • 网站建设技术文档免费网络加速
  • 网站开发建设及推广合同织梦仿wordpress
  • 在百度怎么做网站设计制造有限公司
  • 网站建设及运营工作总结均安公司网站建设
  • 如何免费制作自己的网站内乡微网站开发
  • 网站开发使用api对seo树洞app开发公司