学海无涯

导航

统计

算法面试题

有一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现。

复制代码
 1 int Add(int number)
 2 {
 3     if (number <= 0)
 4     {
 5         return 0;
 6     }
 7     else if (number <= 2)
 8         return 1;
 9     else
10     {
11         return Add(number - 1) + Add(number - 2);
12     }
13 }
复制代码

 编程实现一个冒泡排序算法?

算法原理:

第一次循环,把最小的值放在第一位

第二次循环,把第二小的值放在第二位,依此类推,最终实现了数字从小到大排序。

 

复制代码
 1 int[] numbers = { 5, 2, 9, 6, 10,1 };
 2 Console.WriteLine($"数组:{string.Join(',', numbers.Select(m => m.ToString()))}");
 3 Sort(numbers);
 4 void Sort(int[] numbers)
 5 {
 6     int temp = 0;
 7     int length = numbers.Length;
 8     for (int i = 0; i < length - 1; i++)
 9     {
10         for (int j = i + 1; j < numbers.Length; j++)
11         {
12             if (numbers[i] > numbers[j])
13             {
14                 temp = numbers[i];
15                 numbers[i] = numbers[j];
16                 numbers[j] = temp;
17             }
18         }
19         Console.WriteLine($"i={i}  {string.Join(',', numbers.Select(m=>m.ToString()))}");
20     }
21 }
复制代码

 求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+……+m

复制代码
 1 /// <summary>
 2     /// 奇偶求和,求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+……+m
 3     /// </summary>
 4     internal class OddEvenSummation
 5     {
 6         public static int Sum(int number)
 7         {
 8             int sum = 0;
 9             for (int i = 1; i <= number; i++)
10             {
11                 if (IsEven(i))
12                 {
13                     sum -= i;
14                 }
15                 else
16                 {
17                     sum += i;
18                 }
19             }
20             return sum;
21         }
22         /// <summary>
23         /// 是否为偶数
24         /// </summary>
25         /// <param name="number"></param>
26         /// <returns></returns>
27         private static bool IsEven(int number)
28         {
29             return number % 2 == 0;
30         }
31     }
复制代码

 

posted on   宁静致远.  阅读(70)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示