C#迷你猜數(shù)實例分析
更新時間:2015年03月27日 15:05:48 作者:傻瓜閑扯蛋
這篇文章主要介紹了C#迷你猜數(shù),實例分析C#操作數(shù)字及數(shù)組的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#迷你猜數(shù)。分享給大家供大家參考。具體如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 迷你猜數(shù) { class Program { static void Main(string[] args) { List<int> LisData = GetData(); LisData = FilterData(LisData, 4659, 0, 1); LisData = FilterData(LisData, 8763, 0, 1); LisData = FilterData(LisData, 1035, 0, 1); LisData = FilterData(LisData, 3249, 1, 1); LisData = FilterData(LisData, 0497, 0, 2); LisData = FilterData(LisData, 9148, 0, 2); foreach(var num in LisData) { Console.WriteLine(num); } Console.ReadKey(); } /// <summary> /// 獲取所有可用數(shù)據(jù) /// </summary> /// <returns></returns> private static List<int> GetData() { List<int> LisData = new List<int>(); for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { for (int m = 0; m < 10; m++) { if((i!=j) && (i!=k) && (i!=m) && (j!=k) && (j!=m) && (k!=m)) { LisData.Add(i * 1000 + j * 100 + k * 10 + m); } } } } } return LisData; } private static List<int> FilterData(List<int> LisData,int Num,int a,int b) { List<int> lisDataNum=new List<int>(); int[] LisNum = new int[4]; //將Num拆分成一個數(shù)組 int[] Numnum = SplitNum(Num); foreach(var Data in LisData) { int aNum = 0; int bNum = 0; //將Data拆分成一個數(shù)組 LisNum = SplitNum(Data); #region 求a,b的個數(shù) for (int i=0;i<4;i++) { //求a的個數(shù) if(Numnum[i]==LisNum[i]) { aNum++; } //求b的個數(shù) for(int j=0;j<4;j++) { if(Numnum[i]==LisNum[j]) { bNum++; } } } bNum -= aNum; #endregion 求a,b的個數(shù) //判斷a,b if((aNum==a)&&(bNum==b)) { lisDataNum.Add(Data); } } return lisDataNum; } /// <summary> /// 拆分四位數(shù) /// </summary> /// <param name="Num"></param> /// <returns></returns> private static int[] SplitNum(int Num) { int[] Numnu = new int[4]; for (int i = 0; i < 4; i++) { Numnu[i] = Num % 10; Num = Num / 10; } return Numnu; } } }
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
C# 利用StringBuilder提升字符串拼接性能的小例子
一個項目中有數(shù)據(jù)圖表呈現(xiàn),數(shù)據(jù)量稍大時顯得很慢,在使用了StringBuilder后效果提升很明顯,下面有例子2013-07-07Visual C#中如何使用IComparable和IComparer接口
這篇文章主要介紹了C#中使用IComparable和IComparer接口,在本例中,該對象被用作第二個參數(shù)被傳遞給Array.Sort的接受IComparer實例的重載方法,需要的朋友可以參考下2023-04-04C#操作Byte數(shù)組和十六進(jìn)制進(jìn)行互轉(zhuǎn)
這篇文章介紹了C#操作Byte數(shù)組和十六進(jìn)制進(jìn)行互轉(zhuǎn)的的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05C# 編碼好習(xí)慣,獻(xiàn)給所有熱愛c#的同志
c#編寫者,需要培養(yǎng)的一些好習(xí)慣2009-02-02Unity Shader實現(xiàn)動態(tài)霧效果
這篇文章主要為大家詳細(xì)介紹了Unity Shader實現(xiàn)動態(tài)霧效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04C# 使用 GDI+ 實現(xiàn)添加中心旋轉(zhuǎn)(任意角度)的文字
這篇文章主要介紹了C# 使用 GDI+ 實現(xiàn)添加中心旋轉(zhuǎn)(任意角度)的文字,需要的朋友可以參考下2018-04-04