<NOIP> 22 . P1028 数的计算
来源:互联网 发布:ubuntu 软件包破损 编辑:程序博客网 时间:2024/06/05 21:09
题解:这是洛谷的第22道题目,考察的是递归。
注意:一开始的时候,我没有理解这个题目的意思。举个例子应该能好说点:假设现在有一个自然数6,不大于6的一半的自然数是<1,2,3>,所以给它的左边加上这个数字,即为<16,26,36>。然后,对于16这个数字,由于刚才加的数字是“1”,所以不大于1的一半的自然数是不存在的。然后回溯到26这个数字,由于刚才加的数字是“2”,所以不大于2的一半的自然数是1,所以数字为126,然后对于126,由于刚才加的数字是“1”,所以不大于1的一半的自然数是不存在的。回溯到36,由于刚才加的数字是“3”,所以不大于2的一半的自然数是<1,2>,接下来的数字为136和236,对于236,再继续分···
仔细读上边的内容,感觉一个递归函数写好了。
源代码:
#include <string.h>#include <sstream>#include <stdlib.h>#include <math.h>using namespace std;int sum = 0;void add(int number,int size){ for (int i = 1; i <= size; i++) { int iCounter = 0; int middle = number; while (middle!=0) { middle = middle / 10; iCounter++; } add(i * pow(10, iCounter) + number, i / 2); } //cout << number << " "; sum++;}int main(){ int number; cin >> number; //cout << add(number) << endl; add(number,number/2); cout << sum << endl; system("pause"); return 0;}
阅读全文
0 0
- <NOIP> 22 . P1028 数的计算
- P1028数的计算
- P1028 数的计算
- P1028 数的计算
- P1028 数的计算
- 洛谷P1028 数的计算
- P1028 数的计算(洛谷)
- 洛谷 P1028 数的计算
- 洛谷P1028 数的计算
- 洛谷P1028 数的计算
- 【递归】洛谷 P1028 数的计算
- **洛谷P1028 数的计算(NOIp2001)
- 【题解/普及】P1028 数的计算
- 刷题报告005 洛谷P1028数的计算
- 数的计算 2001年NOIP全国联赛普及组
- NOIP 2001 普及组 复赛 数的计算
- CODEVS 1011 数的计算 & 2001NOIP普及组T1
- 小飞侠的游园方案-P1028
- disk i/o error
- 解决JavaScript库命名冲突问题 noConflict
- MongoDB干货系列2-MongoDB执行计划分析详解(2)
- react vr消息传递
- plsql developer 查询已经执行过的sql语句
- <NOIP> 22 . P1028 数的计算
- 解决ADB端口占用问题
- java中Map,List与Set详解
- 设计模式(六)观察者模式详解(包含观察者模式JDK的漏洞以及事件驱动模型)
- tcp_server和tcp_client
- Tomcat配置虚拟路径
- iOS开发:禁用UItextfield的选择、全选、粘贴的功能
- vs 2013中常用的快捷键
- abs() floor() ceil() round() fmax() fmin() fmod()