将192分别与一、二、3相乘:code
192 × 1 = 192
192 × 2 = 384
192 × 3 = 576class
链接这些乘积,咱们获得一个1至9全数字的数192384576。咱们称192384576为192和(1,2,3)的链接乘积。co
一样地,将9分别与一、二、三、四、5相乘,获得1至9全数字的数918273645,便是9和(1,2,3,4,5)的链接乘积。block
对于n > 1,全部某个整数和(1,2, … ,n)的链接乘积所构成的数中,最大的1至9全数字的数是多少?数字
1 9 9 5 192 3 219 3 267 3 273 3 327 3 5238 2 5239 2 5364 2 5382 2 5392 2 5436 2 5486 2 6354 2 6435 2 6485 2 6729 2 6792 2 6852 2 6927 2 7269 2 7293 2 7329 2 7692 2 7923 2 7932 2 8235 2 8352 2 8523 2 8532 2 8546 2 8645 2 8652 2 9235 2 9267 2 9273 2 9327 2 9352 2
int fun8_1(char * s) { int a[9]; int i ,j; for (i = 0; i < 10; i++) { a[i] = s[i] - 48; } for (i = 0; i < 8; i++){ for (j = i + 1; j < 9; j++){ if (a[i] == a[j]){ return 0; } } } return 1; } void fun8(void) { int i, j, sum = 0; char s[19], c[9]; for (i = 1; i < 9999; i++) { memset(s, 0, sizeof(s)); for (j = 1; j < 10; j++) { sprintf(c, "%d", i * j); strcat(s, c); if (strlen(s) == 9) { //printf("%d %d\n", i, j); puts(s); if (fun8_1(s)) { printf("%d %d\t", i, j); } }else if (strlen(s) > 9){ break; } } } } int main (void) { fun8(); return 0; }