【第六届蓝桥杯】串逐位和
来源:互联网 发布:萨姆鲍维实力.知乎 编辑:程序博客网 时间:2024/05/22 12:02
题目:串逐位和
给定一个由数字组成的字符串,我们希望得到它的各个数位的和。
比如:“368” 的诸位和是:17
这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案:
int f(char s[], int begin, int end)
{
int mid;
if(end-begin==1) return s[begin] - '0';
mid = (end+begin) / 2;
return ____________________________________; //填空
}
int main()
{
char s[] = "4725873285783245723";
printf("%d\n",f(s,0,strlen(s)));
return 0;
}
你能读懂他的思路吗? 请填写划线部分缺失的代码。
第六届蓝桥杯所有组试题与部分答案
给定一个由数字组成的字符串,我们希望得到它的各个数位的和。
比如:“368” 的诸位和是:17
这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案:
int f(char s[], int begin, int end)
{
int mid;
if(end-begin==1) return s[begin] - '0';
mid = (end+begin) / 2;
return ____________________________________; //填空
}
int main()
{
char s[] = "4725873285783245723";
printf("%d\n",f(s,0,strlen(s)));
return 0;
}
你能读懂他的思路吗? 请填写划线部分缺失的代码。
注意:只填写缺少的部分,不要填写已有代码或任何多余内容。
答案:f(s,begin,mid)+f(s,mid,end)
C++代码:
#include <stdio.h>#include <string.h>int f(char s[], int begin, int end){ int mid; if(end-begin==1) return s[begin] - '0'; mid = (end+begin) / 2; return f(s,begin,mid)+f(s,mid,end); //填空 } int main(){ char s[] = "4725873285783245723"; printf("%d\n",f(s,0,strlen(s))); return 0; }
第六届蓝桥杯所有组试题与部分答案
阅读全文
0 0
- 【第六届蓝桥杯】串逐位和
- 第六届蓝桥杯
- 第六届蓝桥杯
- 第六届蓝桥杯JAVAB组初赛第六题
- 类和对象第六讲
- 第六章:数组和字符串
- 第六课:键盘和鼠标
- 第六章 包 和 String
- 第六章 对象和数据结构
- 类和对象-第六天
- 第六篇 蜂鸣器和app_timer
- 第六届蓝桥杯:黄金连分数
- 第六届蓝桥杯 三羊献瑞
- 第六届蓝桥杯-手链样式
- 第六届蓝桥杯校内选拔
- 第六届蓝桥杯-三羊生瑞
- 第六届蓝桥杯隔行变色
- 第六届蓝桥杯题解
- iOS APP调取短信 发送消息给其他人
- 为sys/cat文件生成测试签名
- servlet/filter/listener/interceptor区别与联系
- 7-18 寻找大富翁(25 分) (堆排序)
- qt pro文件和pri文件的区别
- 【第六届蓝桥杯】串逐位和
- 微信小程序常见问题
- 微信自定义菜单开发案例
- leetcode: 38. Count and Say
- div不可编辑的问题
- 全选与反选
- 7-19 PAT Judge(25 分)(结构体排序)
- 【深度相机系列三】深度相机原理揭秘--双目立体视觉
- 《大话设计模式》java实现之原型模式