[借擺一下] [C]偷來的反猜數字

看板cksh82nd304作者 (富貴險中求啊... Q_Q)時間19年前 (2005/01/12 01:04), 編輯推噓2(200)
留言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
文章代碼(AID): #11v0SWYb (cksh82nd304)
文章代碼(AID): #11v0SWYb (cksh82nd304)