标题:史丰收速算

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

速算的核心基础是: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

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

//计算个位
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[] = {
"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/gcter/p/6673255.html

蓝桥杯-标题:史丰收速算相关推荐

  1. 蓝桥杯第五届C/C++A组第四题 史丰收速算

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

  2. 2014蓝桥杯本科B组C/C++第四题【史丰收速算】

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

  3. 蓝桥杯_C语言_本科B——史丰收速算

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

  4. 第五届蓝桥杯省赛C++B组 史丰收速算

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

  5. (蓝桥杯第五届B组)史丰收速算 打印图形(代码填空)

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

  6. 蓝桥秘密冲刺计划(10.3)史丰收速算

    定位:2014年第五届蓝桥杯省赛C/C++ B组试题D 原题:史丰收速算 史丰收速算法的革命性贡献是:从高位算起,预测进位.不需要九九表,彻底颠覆了传统手算! 速算的核心基础是:1位数乘以多位数的乘法 ...

  7. 猫和老鼠 蓝桥杯/手速/暴力练习赛(暴力搜索)

    猫和老鼠 蓝桥杯/手速/暴力练习赛 [题目描述]猫和老鼠在10*10 的方格中运动,例如:*...*...........*......*...*...............*.C....*.... ...

  8. 代码赏析——史丰收速算

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

  9. 第五届蓝桥杯【省赛试题4】史丰收速算

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

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

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

最新文章

  1. IS-IS 的 DIS (伪节点) 及 DIS 和 OSPF中DR 的区别
  2. python整理excel数据-利用python整理需要的excel报表(上)
  3. python3 ftp文件传输
  4. ie bug(如果不足,留言大家一起分享)
  5. 研究生第一篇学术论文常犯问题总结【喻海良箴言】
  6. C#多线程学习之(五)使用定时器进行多线程的自动管理
  7. spring配置主库从库_spring下的数据库主从分离(下)
  8. [高并发]Java高并发编程系列开山篇--线程实现
  9. 【bash】今天你坑队友了吗
  10. Hololens中的虚拟物体通过Vuforia的码实现虚实融合打开hololens像机
  11. react 表单设计器_神器:让你相见恨晚的5个React应用程序库
  12. 图书在线网店的html,网上书城html模板.docx
  13. 各种前端框架的下拉菜单收集
  14. 什么是DOM0,DOM2,DOM3?
  15. u盘无法读出显示计算机被锁定,U盘无法打开,提示被写保护了怎么办?
  16. 微信定位精灵 android,微信定位精灵安卓版下载
  17. 什么样的学生最坑导师?
  18. Opencv-图像ROI与ROI操作
  19. 第七天--HCIA第五章--OSPF+ACL
  20. git查看某次提交的文件列表

热门文章

  1. K-均值聚类算法和二分K-均值算法
  2. 刘涛入职阿里,年薪超过欧阳娜娜!揭秘阿里巴巴的明星员工和职级薪资!
  3. 关于知识图谱标准化构建平台的思考:知识图谱只能做项目,不能做平台?
  4. 普渡大学科技学院计算机信息技术,普渡大学-学院介绍
  5. 国外常见16款著名的实时网站统计系统
  6. 天马行空(不定时更新)
  7. Android开发前景如何?2021年,Android开发者的前行方向
  8. Push master to origin/master was rejected by remote
  9. 【Linux服务器架设】搭建存储服务器-NFS
  10. win7原版镜像_i3-8100装Win7没有集显驱动?驱动人生告诉你为什么