算法竞赛_排列_C++
程序员文章站
2024-01-27 21:26:22
1,2,3,… , 7,8,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解。
#include...
1,2,3,… , 7,8,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解。
#include using namespace std; int main(){ int n, i, j; char a[10]; for(n = 123; n < 330; n++){ sprintf(a, "%d", n * 1000000 + n * 2 * 1000 + n * 3); for(j = 0, i = '1'; i <= '9'; memchr(a, i++, 9) && j++); if (j == 9) { printf("%d %d %d \n", n, n * 2, n * 3); } } return 0; }
说明: sprintf()函数的原型:int sprintf( char *buffer, const char *format [, argument,...] ); sprintf与printf函数的区别:二者功能相似,但是sprintf函数打印到字符串中,而printf函数打印输出到屏幕上。
memchr()函数的原型:extern void *memchr(void *buf, char ch, unsigned count); 用法:#include 功能:从buf所指内存区域的前count个字节查找字符ch。 说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。