要简洁的话: int ibn(unsigned int n) { for (int r, m = 0; n; n /= 10) if (r = n % 10, (m >> r) & 1 ? 1 : (m |= 1 << r, 0)) return 0; return n == 0; } 返回值1是美丽数,0不是美丽数,剩下的测试范围你自己写吧
int ibn(unsigned int n) { for (int r, m = 0; n; n /= 10) if (r = n % 10, (m >> r) & 1 ? 1 : (m |= 1 << r, 0)) return 0; return n == 0; }
552
社区成员
20,062
社区内容
加载中
试试用AI创作助手写篇文章吧