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

中国做国际期货最大的网站校园推广方案

中国做国际期货最大的网站,校园推广方案,网页设计范文,鞍山ui界面题目:奇怪的捐赠 题目来源: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/390895.html

相关文章:

  • b2c网站怎么制作动态网站的制作与设计
  • 做产品批发的网站百度竞价推广开户内容
  • 三门峡做网站公司网站seo优化服务商
  • css购物网站选中商品样式怎么做网络营销推广要求
  • 佳木斯网站建设哪家好前端seo怎么优化
  • 求职简历免费模板seo外包服务方案
  • 哈尔滨网站建设百度建站多少钱
  • 上海市重点企业名单seo优化实训总结
  • 网站建设注意那优化设计答案六年级上册语文
  • 做网站可能存在的问题营业推广方案
  • 微网站 demo百度平台app
  • 做网站建设客户从哪里找推广网站要注意什么
  • 从哪方面建设网站重庆搜索排名提升
  • 网站建设方案视频教程买卖网站
  • dw怎么做购物网站青岛网站建设推广公司
  • 临沂建设网站公司手机管家一键优化
  • 金牛区建设审批网站无忧seo
  • 云南科技公司网站公司广告推广方案
  • 百度云搜索引擎西安自动seo
  • 网站建设和推广话术6网络推广企划
  • 密云微网站建设专业网站优化推广
  • 教育培训类网站设计广告联盟下载app
  • 天津实用网站建设平台保定seo网络推广
  • 新城免费做网站外链免费发布平台
  • 购物网站用html怎么做电商关键词一般用哪些工具
  • 沈阳网站制作百度推广官方网站登录入口
  • 服装网站的建设背景安卓系统优化app
  • 青岛专业做网站优化网络营销广告策划
  • 企业做网站的作用百度网页入口
  • 宁波网站制作与推广百度点击软件找名风