- 巧妙填数
- 2017-06-02 22:21:25 @
/*到底哪里错了。。
真的不明白。。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int comp(const void *a, const void *b) {
return *(char *)a - *(char *)b;
}
int main(){
int i=100;
char a[12];
wow:while(i++<333){
sprintf(a,"%d%d%d",i,i*2,i*3);
if(strlen(a)!=9)continue;
qsort(a, 9, sizeof(a[0]), comp);
for(int j=1;j<9;j++)
{
if(a[j]==a[j-1])
goto wow;
}
printf("%d %d %d\n",i,i*2,i*3);
}
}
/*
我的输出:
192 384 576
219 438 657
267 534 801
273 546 819
327 654 981
AC:
192 384 576
219 438 657
273 546 819
327 654 981
为什么267 534 801这一组不行??百思不得其解
*/
2 条评论
-
沉江底 LV 9 @ 2017-06-02 23:40:08
在排序后面加一个
if(a[0]=='0')continue;
就行了 -
2017-06-02 23:31:24@
看题哇,是1-9啊,你没检查你的a【12】里面有没有'0'啊当然会出现801咯
- 1