.NET/C#汇总 —— 常⻅的算法

发布于:2024-04-25 ⋅ 阅读:(14) ⋅ 点赞:(0)

1.求质数

质数也成为素数,质数就是这个数除了1和他本身两个因数以外,没有其他因数的数,叫做质数,和他相反 的是合数,就是除了1和他本身两个因数以外,还友其他因数的数叫做合数。

 //以下为函数部分
 static void cal(long x)
 {
     long sum = 1;
     byte row = 1;
     Console.Write("\n");
 for (long a = 3; a < x + 1; a++)
 {
     bool flag = true;
     for (long b = 2; b < (a / 2) + 1; b++)
     {
         if (a % b != 0) continue;
         flag = false;
         break;
     }

     if (flag)
     {
         if (row == 10) { 
            Console.WriteLine(); row = 0; 
         }
             if (sum == 1) 
              Console.Write("{0,7}", 2);
               Console.Write("{0,7}", a);
              sum++; row++;
         }
     }
     Console.WriteLine("\n\n{0} 以内共有 {1} 个质数\n", x, sum);
 }

 

2.有⼀列数1,1,2,3,5,........求第30个数。

public static int Foo(int i)
{
     if (i <= 0)
         return 0;
     else if (i > 0 && i <= 2)
         return 1;
     else
         return Foo(i - 1) + Foo(i - 2);
 }

 

3.冒泡排序

//冒泡排序类
 public class sorter
 {
     public void Sort(int[] list)
 {
     int i, j, temp;
     bool done = false;
     j = 1;
 while ((j < list.Length) && (!done))
 {
     done = true;
     for (i = 0; i < list.Length - j; i++)
 {
 if (list[i] > list[i + 1])
 {
     done = false;
     temp = list[i];
     list[i] = list[i + 1];
     list[i + 1] = temp;
     }
     }
     j++;
     }
 }
 }

 

4.请编写⼀个函数,能够计算10以内数的阶乘,尽量采⽤递归算法。(10!=3628800)。

public int jiecheng(int n)
{
 if (n == 1)
 return 1;
 else if (n == 2)
 return 2;
 else
 return n * jiecheng(n - 1);
}

 

5 请编程实现此⽅法。将输⼊的整型数组,合并转换为逗号分隔的字符串。

例如输⼊参数为整型数组{9,7,2},那么输出结果为字符串"9,7,2"。