备战蓝桥杯—2014(4)史丰收速算

备战蓝桥杯—2014(4)史丰收速算史丰收速算史丰收速算法的革命性贡献是 从高位算起 预测进位 不需要九九表 彻底颠覆了传统手算 速算的核心基础是 1 位数乘以多位数的乘法 其中 乘以 7 是最复杂的 就以它为例 因为 1 7 是个循环小数 0 如果多位数超过 就要进 1 同理 2 7 3 7 6 7 也都是类似的循环小数 多位数超过 n 7 就要进 n 下面的程序模拟了史丰收速算法中乘以 7 的运

史丰收速算

史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!

速算的核心基础是:1位数乘以多位数的乘法。

其中,乘以7是最复杂的,就以它为例。

因为,1/7 是个循环小数:0.…,如果多位数超过 …,就要进1

同理,2/7, 3/7, … 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n

下面的程序模拟了史丰收速算法中乘以7的运算过程。

乘以 7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位。

请分析程序流程,填写划线部分缺少的代码。

程序代码:

#include  
     #include  
     //计算个位  int ge_wei(int a) { 
      if(a % 2 == 0)     return (a * 2) % 10;   else     return (a * 2 + 5) % 10; } //计算进位  int jin_wei(char* p) { 
      char* level[] = { 
        "",     "",     "",     "",     "",     ""   };   char buf[7];   buf[6] = '\0';   strncpy(buf,p,6);   int i;   for(i=5; i>=0; i--){ 
        int r = strcmp(level[i], buf);     if(r<0) return i+1;     while(r==0){ 
          p += 6;       strncpy(buf,p,6);       r = strcmp(level[i], buf);       if(r<0) return i+1;       if(r>0)return i; //填空     }   }   return 0; } //多位数乘以7 void f(char* s) { 
      int head = jin_wei(s);   if(head > 0) printf("%d", head);   char* p = s;   while(*p){ 
        int a = (*p-'0');     int x = (ge_wei(a) + jin_wei(p+1)) % 10;     printf("%d",x);     p++;   }   printf("\n"); } int main() { 
      f("1");   f("543");   return 0; } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218741.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:34
下一篇 2026年3月17日 下午11:35


相关推荐

  • 软件设计师考试考点分析总结

    软件设计师考试考点分析总结文章目录分值分布考点总结计算机组成与体系结构数据表示进制转换编码浮点数运算 CPU 结构运算器控制器 Flynn 分类法 CISC 复杂指令集 RISC 精简指令集流水线流水线相关概念存储系统 Cache 主存内存磁盘总线系统可靠性差错控制 校验码操作系统进程管理死锁及银行家算法存储管理页面置换算法文件管理索引文件目录结构位示图磁盘管理 I O 设备管理虚设备与 SPOOLING 技术微内核操作系统数据库数据库模式数据库设计过程 E R 模型关系代数规范化理论函数依赖键范式模式分解并发控制数据库安全备份恢复数据仓库与数据挖掘反规范化

    2025年12月15日
    4
  • 登录令牌 Token 介绍

    登录令牌 Token 介绍

    2021年11月3日
    56
  • 消息队列 能做成 websocket 那样推送消息到客户端吗

    消息队列 能做成 websocket 那样推送消息到客户端吗

    2022年2月10日
    43
  • api接口开放平台_手机系统分享接口在哪里

    api接口开放平台_手机系统分享接口在哪里免费在线接口(资源链接)1.csdnhttps://blog.csdn.net/c__chao/article/details/785737372.sojsonhttps://www.sojson.com/api/3.bejsonhttp://www.bejson.com/knownjson/webInterface/4.csdnhttps://blog.csdn.net/ishxiao/article/details/528573615.juhe(部分免费)https://www.j

    2022年10月3日
    4
  • 软件需求分析

    软件需求分析转 http www cnblogs com fnng archive 2011 09 13 2174268 html 什么是需求分析 通俗的讲 对用户的意图不断揭示和验叛的过程 要对经过系统可行性分析所确定的系统目标做更为详细的描述 假如你是个建筑工程师 有个客户找你建一个鸡窝 这个时候要需要与客户沟通 来确定客户到底想要一个什么样子的鸡窝 我们应该注意三点 1 准确的理

    2026年3月19日
    2
  • java 设置随机数种子_java随机数种子怎么设置[通俗易懂]

    java 设置随机数种子_java随机数种子怎么设置[通俗易懂]java随机数种子怎么设置引导语:Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。以下是小编整理的java随机数种子怎么设置,欢迎参考阅读!java设置随机数种子教程:一、在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个dou…

    2022年7月14日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号