标题:史丰收速算

史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法。其中,乘以7是最复杂的,就以它为例。因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n下面的程序模拟了史丰收速算法中乘以7的运算过程。乘以 7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位。乘以 7 的进位规律是:
满 142857... 进1,
满 285714... 进2,
满 428571... 进3,
满 571428... 进4,
满 714285... 进5,
满 857142... 进6请分析程序流程,填写划线部分缺少的代码。

分析:

这个题有些误打误撞,因为看着程序没有处理人r > 0的情况,所以处理了大于0的情况,相对于r<0返回 i+1,这里就返回了i。
该题目就是计算多位数乘以7,所以用计算器验证一下是正确的就可以了。

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//计算个位
int ge_wei(int a)
{if(a % 2 == 0)return (a * 2) % 10;elsereturn (a * 2 + 5) % 10;
}//计算进位
int jin_wei(char* p)
{char* level[] = {"142857","285714","428571","571428","714285","857142"};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("428571428571");f("34553834937543");return 0;
}

蓝桥杯第五届C/C++A组第四题 史丰收速算相关推荐

  1. 征战蓝桥 —— 2014年第五届 —— C/C++A组第4题——史丰收速算

    题目 史丰收速算法的革命性贡献是:从高位算起,预测进位.不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法.其中,乘以7是最复杂的,就以它为例.因为,1/7 是个循环小数:0. ...

  2. 第五届蓝桥杯C/C++本科B组(真题试做)(1~5)

    菜鸡只能报个B组.于是报了第六届的本科B.就找了上届的本科B的题来做做. A: 标题:啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元.我们还知道他买的啤酒比饮 ...

  3. 220409蓝桥杯C语言大学C组手算填空题T^T

    220409蓝桥杯 试题 A: 排列字母 试题 B: 特殊时间 试题 C: 纸张尺寸 试题 D: 求和 试题 E: 数位排序 只学到指针前的知识,做蓝桥杯能做到什么程度? 试题 A: 排列字母 本题总 ...

  4. 填词游戏java_第八届蓝桥杯国赛 Java B组 第五题 填字母游戏(博弈论)

    解题思路: 因为是博弈论,所以我们要对先手的必胜态和必败态分析. 1.首先我们看赢遇到的状态,就是给出的串的子串有LO*,*OL,L*L这三种情况(就叫福利局吧~).都可以直接填出LOL,获胜. 2. ...

  5. 2016蓝桥杯国赛 JAVA C组第五题 路径之谜

    蓝桥杯确实很暴力... 路径之谜 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士 ...

  6. 第五届蓝桥杯C/C++本科B组(真题试做)(9~10)

    第九题 迷宫取宝 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出口在右下角.小明被带到地宫的入口,国王要求他只能向 ...

  7. 第五届蓝桥杯C/C++本科B组(真题试做)(6~8)

    终于考完--不过挂科的铁定的了. 还是来做题吧. 前面八道题做起来都很简单. F: 标题:奇怪的分式上小学的时候,小明经常自己发明新算法.一次,老师出的题目是:1/4 乘以 8/5 小明居然把分子拼接 ...

  8. 青少年蓝桥杯_2020_steam考试_中级组_第二题

    提示信息 小蓝家的灯是拉线型开关的,拉一次灯开,再拉一次灯关,未拉之前灯是熄灭状态. 编程实现 输入一个正整数 M(1<M<100),作为小蓝拉灯的次数,判断拉灯 M 次后,灯是点亮状态还 ...

  9. 青少年蓝桥杯_2020_steam考试_中级组_第一题

    送分题,2行代码 str = input() print(len(str))

最新文章

  1. PHP中刷新输出缓冲
  2. 【 MATLAB 】xlim 、 ylim 、zlim简介
  3. REST service 化一个数据系统(REST Service 的最佳实践,第 2 部分)
  4. mysql event type_MySQL 【Row】下的 Event_type
  5. 运行过程中的leader选举
  6. python之条件、循环语句
  7. 在线学ajax,ajax学习
  8. Jeecg_3.6新版本功能专题讲解 - 公开课(自定义表单、数据权限)
  9. Python的numpy基本用法
  10. 解决applet覆盖遮罩层div的问题
  11. 数据结构上机实践第八周项目6- 猴子选大王(数组版)
  12. IDL | 实验三、IDL编程演练
  13. 成为Android高手的十个建议
  14. bzoj 4501 旅行
  15. C语言入门之鸡兔同笼(简易版)
  16. 计算机组装与维护思考问题,计算机组装与维护心得体会
  17. c语言输出最大的数ns流程图_图8循环结构的NS流程图.ppt
  18. windows7 旗舰版 集成 usb3.0 NVMe 支持 AM4
  19. RQ配置使用Redis Cluster
  20. php 鼠标 移动 手型,JS实现的鼠标跟随代码(卡通手型点击效果)

热门文章

  1. linux下jdk的安装与配置jdk-6u45-linux-i586.bin
  2. 错误[error] 1366 解决方法
  3. 沪深A股分析数据市场表现信息API接口(JSON标准格式,Get请求方式)
  4. 如何做好英文外贸B2C网站的优化
  5. htb_Soccer
  6. n阶差分方程重根计算公式的一般证明
  7. unity实现AI对战坦克
  8. java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession
  9. 关于出生日期、邮箱、上传下载操作的元素点分析
  10. centos刻录工具_UltraISO刻录CentOS 7安装指南