C#實(shí)現(xiàn)變量交換、斐波那契數(shù)列、質(zhì)數(shù)、回文方法合集
交換兩個(gè)變量的方法
使用C#中的第三個(gè)變量交換兩個(gè)數(shù)字
int number1=10,number2=20,temp=0; temp=number1; number1=number2; number2=temp;
不使用第三個(gè)變量交換數(shù)字的方法
通過 *和/
int number1=10,number2=20; number1=number1*number2; //200 number2=number1/number2; //10 number1= number1/number2; //20
通過 +和-
int number1=10,number=20; number1=number1+number2; //30 number2=number1-number2; //10 number1=number1-number2; //20
不使用第三個(gè)變量交換字符串的方法
string name1="Dotnet", name2="C#"; name1=name1+name2; //DotnetC# name2=name1.Substring(0,name1.Length-name2.Length); //Dotnet name1=name1.Substring(name2.Length); //C#
斐波納奇數(shù)列
斐波那契數(shù)列是按以下順序排列的數(shù)字序列:
在C#中實(shí)現(xiàn)斐波那契數(shù)列的方法
- 迭代
- 遞歸
迭代打印斐波那契數(shù)列的方法:
int firstNumber=0;SecondNumber=1;nextNumber; Console.Write("輸入打印的元素?cái)?shù)量:"); int numberOfElement=int.Parse(Console.ReadLine()); if(numberOfElements>2) { Console.Write($"{firstNumber} {SecondNumber}"); for(int i=2;i<numberOfElements;i++) { nextNumber=firstNumber+SecondNumber; Console.Write($"{nextNumber} "); firstNumber=SecondNumber; SecondNumber=nextNumber; } }
遞歸打印斐波那契數(shù)列的方法:
Console.Write("輸入打印的元素?cái)?shù)量:"); int numberOfElement=int.Parse(Console.ReadLine()); FibonacciSeries(0,1,1,numberOfElement); //遞歸打印方法 FibonacciSeries(int firstNumber,int secondNumber,int Counter,int number) { Console.Write($"{firstNumber} "); if(counter<number) FibonacciSeries(secondNumber,firstNumber+secondNumber,counter+1,number); }
如何從斐波那契數(shù)列中找到第N個(gè)斐波那契數(shù)列編號(hào)?
static void Main(string[] args) { Console.Write("請(qǐng)輸入需要獲取的斐波那契數(shù)值的編號(hào): "); int number = int.Parse(Console.ReadLine()); //因?yàn)樾蛄惺菑?開始, 所以我們計(jì)算某一位時(shí),需要-1; number = number - 1; Console.Write(NthFibonacciNumber(number)); Console.ReadKey(); } private static int NthFibonacciNumber(int number) { int firstNumber = 0, secondNumber = 1, nextNumber = 0; //如果輸入0,則返回0 if (number == 0) return firstNumber; for (int i = 2; i <= number; i++) { nextNumber = firstNumber + secondNumber; firstNumber = secondNumber; secondNumber = nextNumber; } return secondNumber; }
質(zhì)數(shù)
質(zhì)數(shù)又稱素?cái)?shù), 一個(gè)大于1的自然數(shù), 除了1和它自身外, 不能被其他自然數(shù)整除的數(shù)叫做質(zhì)數(shù)。,例如: 2,3,5,7,11,13,17,19,23... 是質(zhì)數(shù)。
Console.Write("輸入數(shù)字: "); int number = int.Parse(Console.ReadLine()); bool IsPrime = true; for (int i = 2; i < number / 2; i++) { if (number % i == 0) { IsPrime = false; break; } } if (IsPrime) Console.Write($"{number}是質(zhì)數(shù)"); else Console.Write($"{number}不是質(zhì)數(shù)"); Console.ReadKey();
如何打印兩個(gè)數(shù)字之間的所有質(zhì)數(shù)?
Console.Write("輸入起始數(shù)字: "); int startNumber = int.Parse(Console.ReadLine()); Console.Write("輸入結(jié)束數(shù)字: "); int endNumber = Convert.ToInt32(Console.ReadLine()); for (int i = startNumber; i <= endNumber; i++) { int counter = 0; for (int j = 2; j <= i / 2; j++) { if (i % j == 0) { counter++; break; } } if (counter == 0 && i != 1) { Console.Write("{0} ", i); } } Console.ReadKey(); }
回文(數(shù)字與字符串)
回文數(shù)
是一組數(shù)字, 反轉(zhuǎn)該數(shù)字之后與原來相同。例如: 121, 343, 7887 等。
回文字符串
一組文字, 返回該文字之后與原來相同。例如: ABA、我愛我等。
如何檢查某數(shù)字是否屬于回文數(shù)?
static void Main(string[] args) { Console.Write("請(qǐng)輸入要檢查的數(shù)字 : "); int number = int.Parse(Console.ReadLine()); int remineder, sum = 0; int temp = number; while (number > 0) { //得到余數(shù) remineder = number % 10; //總和*10, 然后與余數(shù)相加 sum = (sum * 10) + remineder; //除以10,得到商 number = number / 10; } if (temp == sum) Console.WriteLine($"{temp}是回文"); else Console.WriteLine($"{temp}不是回文"); Console.ReadKey(); }
如何檢查某字符串是否屬于回文?
- 方法1
static void Main(string[] args) { Console.Write("輸入要檢查的回文: "); string name = Console.ReadLine(); string reverse = string.Empty; for (int i = name.Length - 1; i >= 0; i--) reverse += name[i]; if (name == reverse) Console.WriteLine($"{name}是回文"); else Console.WriteLine($"{name}不是回文"); Console.ReadKey(); }
- 方法2
static void Main() { Console.Write("輸入要檢查的回文: "); string name = Console.ReadLine(); string reverse = string.Empty; foreach (char c in name) reverse = c + reverse; if (name.Equals(reverse, StringComparison.OrdinalIgnoreCase)) Console.WriteLine($"{name}是回文"); else Console.WriteLine($"{name}不是回文"); Console.ReadKey(); }
- 方法3
static void Main() { Console.Write("輸入要檢查的回文: "); string name = Console.ReadLine(); char[] nameArray = name.ToCharArray(); Array.Reverse(nameArray); string reverse = new string(nameArray); if (name.Equals(reverse, StringComparison.OrdinalIgnoreCase)) Console.WriteLine($"{name}是回文"); else Console.WriteLine($"{name}不是回文"); Console.ReadKey(); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在C#中根據(jù)HardwareID獲取驅(qū)動(dòng)程序信息的實(shí)現(xiàn)代碼
這篇文章主要介紹了C#中根據(jù)HardwareID獲取驅(qū)動(dòng)程序信息的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-12-12C#實(shí)現(xiàn)判斷文件夾存在與否并創(chuàng)建文件夾的方法
這篇文章主要介紹了C#實(shí)現(xiàn)判斷文件夾存在與否并創(chuàng)建文件夾的方法,涉及C#針對(duì)文件及目錄的判斷與創(chuàng)建操作相關(guān)技巧,需要的朋友可以參考下2017-02-02C#實(shí)現(xiàn)Winform鼠標(biāo)拖動(dòng)窗口大小時(shí)設(shè)定窗口最小尺寸的方法
這篇文章主要介紹了C#實(shí)現(xiàn)Winform鼠標(biāo)拖動(dòng)窗口大小時(shí)設(shè)定窗口最小尺寸的方法,涉及WinForm改變窗口大小時(shí)動(dòng)態(tài)判斷當(dāng)前窗口尺寸的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-11-11