[借擺一下] [C]偷來的反猜數字
看板cksh82nd304作者kurotanshi (富貴險中求啊... Q_Q)時間19年前 (2005/01/12 01:04)推噓2(2推 0噓 0→)留言2則, 2人參與討論串1/2 (看更多)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int way[4];
int way2[4];
void fen(int i){
way[0] = i / 1000;
way[1] = i / 100 - 10 * way[0];
way[3] = i % 10;
way[2] = (i % 100) / 10;
}
void fen2(int i){
way2[0] = i / 1000;
way2[1] = i / 100 - 10 * way2[0];
way2[2] = (i % 100) / 10;
way2[3] = i % 10;
}
int main(void){
int num[9999];
int i,j = 0 , k = 0;
int a,b;
int guess;
srand(time(0));
for (i = 0 ; i < 9999 ; i ++){
fen(i);
if (way[0] == way[1] || way[1] == way[2] || way[2] == way[3] ||
way[0] == way[2] || way[1] == way[3] || way[0] == way[3])
continue;
num[j++] = i;
}
i = 0;
do {
if (!i){
do {
guess = rand() % 10000;
fen(guess);
} while(way[0] == way[1] || way[1] == way[2] || way[2] == way[3]
||
way[0] == way[2] || way[1] == way[3] || way[0] ==
way[3]);
if (guess < 1000) printf("0");
printf("%d\n",guess);
printf("?A?B(Ex:1A2B):");
scanf("%dA%dB",&a,&b);
i ++;
}
else {
k = 0;
for (j = 0 ; num[j] ; j++ ){
int aa = 0 ,bb = 0;
fen2(guess);
fen(num[j]);
if (way[0] == way2[0]) aa ++;
if (way[1] == way2[1]) aa ++;
if (way[2] == way2[2]) aa ++;
if (way[3] == way2[3]) aa ++;
if (way[0] == way2[1] || way[0] == way2[2] || way[0] ==
way2[3]) bb++;
if (way[1] == way2[0] || way[1] == way2[2] || way[1] ==
way2[3]) bb++;
if (way[2] == way2[1] || way[2] == way2[0] || way[2] ==
way2[3]) bb++;
if (way[3] == way2[1] || way[3] == way2[2] || way[3] ==
way2[0]) bb++;
if (aa == a && bb == b){
num[k++] = num[j];
}
}
num[k] = 0;
j = rand() % k;
guess = num[j];
if (guess < 1000) printf("0");
printf("%d\n",guess);
printf("?A?B(Ex:1A2B):");
scanf("%dA%dB",&a,&b);
i ++;
}
} while (a != 4);
return 0;
}
--
﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍﹎﹍
▕┌┬┐┌┬┐┌─┐┌─┐┌──┐┌─┐┌┬─┐┌─┐┌┬┐┌┐▏
▕│ / │ │││││││└┐┌┘││││ ││ ┤│ │││▏
▕│ \ │ ││┌┘│ │ ││ │ ││ │├ ││ │││▏
▕└┴┘╰─╯└┘┘└─┘ └┘ └┴┘└─┴┘└─┘└┴┘└┘▏
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.85.159.6
※ 編輯: kurotanshi 來自: 210.85.159.6 (01/12 01:06)
推
140.119.41.135 01/12, , 1F
140.119.41.135 01/12, 1F
推
210.85.159.6 01/12, , 2F
210.85.159.6 01/12, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):