在c#中编写一些常见的逻辑运算题
1.递归算法
一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第*位数是多少,用递归算法实现。
static void Main(string[] args) { int num= cNum(*); Console.WriteLine(num); Console.ReadLine(); } public static int cNum(int i) { if (i <= 0) { return 0; } else if (1<=i&&i<=2) { return 1; } else { return (cNum(i-2)+cNum(i-1)); } }
2.冒泡排序法
static void Main(string[] args) { int[] array = { 6,12,34,5,8}; //随便定义一些数据 Console.WriteLine("排序前:"); for (int a = 0; a < array.Length; a++) { Console.Write(array[a]+" "); } Console.WriteLine(); int temp; //设置一个中间变量接收值 for (int i = 0; i < array.Length - 1; i++) { for (int j = i; j < array.Length-1; j++) { if (array[j + 1] > array[i]) { //降序,改为< 就是升序 temp = array[j + 1]; array[j + 1] = array[i]; array[i] = temp; } } } Console.WriteLine("排序后:"); for (int b = 0; b < array.Length; b++) { Console.Write(array[b] + " "); } Console.ReadLine(); }
3.素数
求在100-200之间有哪些素数.
static void Main(string[] args) { int num=0; for (int i = 101; i <=200 ; i++) { for (int j = 2; j <=i ; j++) { if (j==i){ num+=1; Console.WriteLine(i); break; } if (i%j==0){ break; } } } Console.WriteLine(num); Console.ReadLine(); }