原帖由 whyglinux 于 2005-11-14 12:19 发表
[code]/** If i is a balanced number, return 1; otherwise, return 0. */
/**
* Balanced number examples: 3, 33, 121, 3443, 23532
*/
int balance_number( int i )
{
int m = i;
int n = 0;
...
原帖由 yzc2002 于 2005-11-14 13:27 发表
复制代码
- int balance_number( int n )
- {
- int m = 0;
- while(m < n)
- {
- m = m * 10 + n % 10;
- n /= 10;
- }
- return m > n ? !(m / 10 - n) : 1;
- }
原帖由 whyglinux 于 2005-11-14 12:19 发表
[code]/** If i is a balanced number, return 1; otherwise, return 0. */
/**
* Balanced number examples: 3, 33, 121, 3443, 23532
*/
int balance_number( int i )
{
int m = i;
int n = 0;
...
原帖由 yzc2002 于 2005-11-14 13:27 发表
复制代码
- int balance_number( int n )
- {
- int m = 0;
- while(m < n)
- {
- m = m * 10 + n % 10;
- n /= 10;
- }
- return m > n ? !(m / 10 - n) : 1;
- }
原帖由 大司南 于 2005-11-14 17:04 发表
能不能解释一下??
m = m * 10 + n % 10; //m从低位加到高位, 逆序
n /= 10; //n不断去掉低位
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |