史丰收速算

史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!
速算的核心基础是: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
请分析程序流程,填写划线部分缺少的代码。

答案:if(r>0) return i;

思路:分析题目,理清楚何时进位。

代码:

#include<stdio.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[][50] = {"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;
}

转载于:https://www.cnblogs.com/fisherss/p/10286196.html

史丰收速算|2014年蓝桥杯B组题解析第四题-fishers相关推荐

  1. 2019第十届蓝桥杯A组决赛(国赛)A题(三升序列)

    2019第十届蓝桥杯A组决赛(国赛)A题(三升序列) 输入: VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG SDLLOVGRTWEYZKKXNK ...

  2. 蓝桥杯B组省赛预赛第一题2013(高斯日记)

    题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯 ...

  3. 地宫取宝|2014年蓝桥杯B组题解析第九题-fishers

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

  4. 小朋友排队|2014年蓝桥杯B组题解析第十题-fishers

    小朋友排队 n 个小朋友站成一排.现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友. 每个小朋友都有一个不高兴的程度.开始的时候,所有小朋友的不高兴程度都是0. 如果某个小朋 ...

  5. 第四届蓝桥杯JavaC组国(决)赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.好好学习 汤姆跟爷爷来中国旅游.一天,他帮助中国的小朋友贴标语.他负责贴的标语是分别写在四块红纸上的四个大字:"好.好.学. ...

  6. 2018第九届蓝桥杯B组决赛题解第六题 矩阵求和

    标题:矩阵求和 经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作. 今天小明的任务是填满这么一张表: 表有 n 行 n 列,行和列的编号都从1算起. 其中第 i 行第 j 个元素的值 ...

  7. 第六届蓝桥杯JavaC组国(决)赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.机器人数目 少年宫新近邮购了小机器人配件,共有3类,其中, A类含有:8个轮子,1个传感器 B类含有: 6个轮子,3个传感器 C类含有 ...

  8. 第三届蓝桥杯JavaC组国(决)赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1. 填算式 [结果填空] (满分11分) 看这个算式:☆☆☆ + ☆☆☆ = ☆☆☆如果每个五角星代表 1 ~ 9 的不同的数字.这个算 ...

  9. 第四届蓝桥杯JavaB组国(决)赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜灯谜 题目描述 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字 ...

  10. 2019第十届蓝桥杯B组C++省赛E题迷宫--BFS(倒搜)

    试题 E: 迷宫 本题总分:15 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方. 010000 000100 001001 110000 迷宫 ...

最新文章

  1. Ubantu安装maven
  2. node 压缩图片_1Mb压缩成100k,图片无损压缩我选择它
  3. SAP ABAP 如何查询一个变量表里的变量被哪支程序使用到?
  4. 解读2016全球ICT 50强榜单:谁动了传统通信产业的奶酪?
  5. unity 草 可以一棵棵种吗?_种黄瓜这几种做法是错误的,却还有好多人在犯
  6. crc可以检出奇数个错误_计算机网络最新章节_陈虹著_掌阅小说网
  7. jQuery easyUI--zTree属性菜单
  8. memcached安装运行
  9. mean技术栈 linux,“MEAN”技术栈开发web应用
  10. C语言 n的作业,C语言作业练习
  11. HDU2079 选课时间【母函数】
  12. android 发送显示广播,如何查看Android系统当前发送了什么广播
  13. 再见了,面向对象编程
  14. 越做越好的adobe acrobat
  15. 数字信号处理matlab版答案,数字信号处理matlab版答案
  16. segger_rtt使用帮助
  17. java deflate_JAVA中的deflate压缩实现方法
  18. Python爬虫 requests使用post请求分析并登录Chinaunix
  19. 7号团队-团队任务5:项目总结会
  20. php import mdf,mdf文件用什么打开 mdf是什么文件

热门文章

  1. 用python计算个人所得税计算器_教你使用Python实现新个税计算器
  2. 《我想进大厂》之分布式锁夺命连环9问 | 大理版人在囧途
  3. oracle音节怎么划分,现代汉语音节小知识(4页)-原创力文档
  4. 【转载】js 对表格进行各种操作(转)
  5. NOIP中的数学--第6课 排列与组合
  6. 从freenom获取免费中文域名
  7. 猜拳小游戏java_java 猜拳小游戏
  8. Qt 使用资源管理器打开文件夹,并定位到指定文件。
  9. 从数学角度看基金定投
  10. linux设置python环境变量