杭电2028-2032总结
来源:互联网 发布:数据库怎么学习 编辑:程序博客网 时间:2024/04/29 02:52
本次练习是c语言程序设计练习的最后一套。
2028:本题的核心是编写一个求最大公约数的函数(利用欧几里得算法),求得了两个数的最大公约数,就可以求得两个数的最小公倍数。
多个数的最小公倍数,利用如下原理求得,求a1,a2...an 的最小公倍数,令N是 a1,a2...an-1 的最小公倍数,则要求的最小公倍数是N与an的最小公倍数。
2029:本题是验证字符串是否回文,不需要遍历整个字符串,只需要在strlen(s)/2 之前验证就可以了。
循环如下:while ( j < strlen(s) / 2 && s[ j ] != s[ strlen( s ) - 1 - j ] ) j++;
当跳出循环后,判断 j 的值,如果 j 等于strlen(s)/2 ,则在strlen(s)/2 之前的字符都是满足回文的条件的,所以可以断定该字符串是回文的。如果 j 的值不是 strlen(s)/2 ,则在strlen(s)/2 前就有字符不满足回文的条件了,所以可以断定该字符串不是回文的。
2030:一个汉字需要两个字节来表示,而且是两个复数来表示。因为除了汉字,没有字符对应的整数值是负数的,所以字符串中的负数一定是偶数个的,而且是两个相邻成对出现的。本题的本质就是遍历字符串,求出负整数的个数,然后除以2求得汉字的个数。
2031:简单的进制转换。对于负数,先把它转化成它的相反数,然后用一个布尔变量记录它的符号。如果是负数,就在输出的时候多输出一个负号,这样就把问题转化成只需要处理整数了。用一个整型数组记录转换后的整数值,在用一个字符串 "0123456789ABCDEF" ,对应每个整数值的输出。
2032:用二维数组。
- 杭电2028-2032总结
- 杭电2000-2007总结
- 杭电2008-2013总结
- 杭电2014-2020总结
- 杭电2021-2027总结
- 杭电2033-2037总结
- 杭电2039-2043总结
- 杭电“菜鸟杯”总结
- 杭电 汉诺塔问题总结
- 总结_杭电1001
- 总结_杭电1008
- 总结_杭电1004
- 杭电 汉诺塔问题总结
- 杭电46道DP总结
- 杭电各种测试结果总结
- 杭电oj第1004总结
- 杭电1215解题方法总结
- 杭电2015(感想总结)
- Ubuntu vimrc配置文件 vim 设置行号,缩进距等
- bat批处理文件的一个例子
- haslayout综合
- QT绘图
- 属性android:gravity和android:layout_gravity的区别
- 杭电2028-2032总结
- 浅议如何从统计数据中不断优化SEO效果
- STL的find_if函数
- bootcmd 和bootargs【转】
- oracle锁表杀进程!!!
- 帮你快速理解JVM
- 使用java构建客户端访问秀代码Rest Web Service
- 简单的IIC驱动实例(脱离IIC驱动架构)
- Java NIO与IO的区别和比较