日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一道面试题,我自己的解法

發(fā)布時間:2024/1/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一道面试题,我自己的解法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

題目來自于:?http://www.cnblogs.com/humble/p/3937667.html

本博客地址:http://www.cnblogs.com/wolfred7464/p/3940186.html

?

第一題:

A、B、C、D、E五名學生有可能參加計算機競賽,根據(jù)下列條件判斷哪些
??人參加了競賽:

? ?(1)A參加時,B也參加;

? ?(2)B和C只有一個人參加;

? ?(3)C和D或者都參加,或者都不參加;

? ?(4)D和E中至少有一個人參加;

? ?(5)如果E參加,那么A和D也都參加。?

?

只有 ABCDE 5個人,所以最多只有 2^5 = 32 種情況,枚舉所有情況然后判斷是否合法就可以了。

用5位二進制數(shù)表示答案ans,從低到高依次是ABCDE。即ABCDE分別是1,2,4,8,16。所以判斷A參加只要 ans & a == a 就可以了。

寫10個函數(shù),分別表示每個人參加和不參加兩種情況。

代碼是用C語言寫的,A()表示A參加,rA()表示A不參加,寫的很倉促,將就著看下。

1 #include <stdio.h> 2 3 const int a = 1; 4 const int b = 2; 5 const int c = 4; 6 const int d = 8; 7 const int e = 16; 8 9 int ans = 0; 10 11 int A() 12 { 13 return (ans & b) == b; 14 } 15 16 int rA() 17 { 18 return 1; 19 } 20 21 int B() 22 { 23 return (ans & c) == 0; 24 } 25 26 int rB() 27 { 28 return 1; 29 } 30 31 int C() 32 { 33 return (ans & b) == 0 && (ans & d) == d; 34 } 35 36 int rC() 37 { 38 return (ans & d) == 0; 39 } 40 41 int D() 42 { 43 return C(); 44 } 45 46 int rD() 47 { 48 return (ans & e) == e; 49 } 50 51 int E() 52 { 53 return (ans & a) == a && (ans & d) == d; 54 } 55 56 int rE() 57 { 58 return (ans & d) == d; 59 } 60 61 int main() 62 { 63 for (ans = 0; ans <= 31; ans++) { //31就是2進制的11111 64 int leg = 0; 65 for (int i = 0; i < 5; i++) { 66 int flag = ans & (1 << i); 67 switch (i) { 68 case 0: 69 leg += (flag ? A() : rA()); 70 break; 71 case 1: 72 leg += (flag ? B() : rB()); 73 break; 74 case 2: 75 leg += (flag ? C() : rC()); 76 break; 77 case 3: 78 leg += (flag ? D() : rD()); 79 break; 80 case 4: 81 leg += (flag ? E() : rE()); 82 break; 83 } 84 } 85 if (leg == 5) { 86 printf("%d\n", ans); 87 } 88 } 89 return 0; 90 } View Code

?

轉載于:https://www.cnblogs.com/wolfred7464/p/3940186.html

總結

以上是生活随笔為你收集整理的一道面试题,我自己的解法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。