剑指off-打印1到n
来源:互联网 发布:抢网速软件 编辑:程序博客网 时间:2024/05/16 14:21
//题目:输出 1到n。焦点在于如果n很大,超过32位或者64位,这基本上无法表示
//解决的办法是用字符串模拟加法,但是如何模拟,如何控制循环呢?//memset(char* number,int ch,int n);作用将number前n个位置用ascII码代替memset(a,0,sizeof(a))
//用memset给每一个位赋值为ASCII'0'//strlen(s)不包括'\0'
//increase true 表示正常自增 false表示溢出停止自增
bool increase(char *number){ int flag=0;//进位标识位 int length=strlen(number); for(int i=length-1;i>=0;i--) { int sum; if (i==length-1) { sum=number[i]-'0'+flag+1; } else {sum=number[i]-'0'+flag;} if (sum>=10) { if (i==0) { return false; } flag=1; sum=sum-10; number[i]=sum+'0'; } else { number[i]=sum+'0'; break; } } return true;}void printfnozero(char *number){ int flag=0;//标识前面是否有非0,0是没有 1是有 int length=strlen(number); for (int i=0; i<length; i++) { if (number[i]=='0' && flag==0) { continue; } else { printf("%c",number[i]); flag=1; } } printf(" ");}void printoneton(int n){ char *number=new char[n+1]; memset(number, '0', n);//前n置0 最后一项置'\0' number[n]='\0'; while (increase(number)) { printfnozero(number); }}
0 0
- 剑指off-打印1到n
- 剑指off-递归求1到n的和
- 剑指off-求1到n的代数和
- 剑指Offer之打印1到最大的N位数
- 剑指offer_12_打印1到最大的n位数
- 剑指offer:打印1到最大的n位数
- 【剑指offer】打印1到最大的n位数
- [剑指Offer]打印1到最大的n位数
- 【剑指offer】打印1到最大的n位数
- 剑指Offer12打印1到最大的n位数
- 剑指Offer之打印1到最大的n位数
- 剑指Offer之 - 打印1到最大的n位数
- 剑指offer-12 打印1到最大的N位数
- 剑指offer 12 -打印1到最大的n位数
- 剑指offer:打印1到最大的n位数
- 剑指Offer-12-打印1到最大的n位数
- [剑指offer-1515]打印1到最大的N位数
- 剑指offer 打印1到最大的N位数
- 黑马程序员--OC中static,self,super等使用
- xcode调试
- Hbase集群扩展
- H.264基本概念
- Java编程中一些常用的小方法
- 剑指off-打印1到n
- hive 报错/tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x
- MySQL 运算符和函数
- c语言单向列表的创建、插入、删除、排序和遍历。。。
- zynq虐我千百遍——第3篇 Linaro之kernel
- 从编译原理的角度理解面向对象----0
- 实习生入职第一天感想与收获
- 每天一个linux命令(60):scp命令
- iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引