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("請輸入需要獲取的斐波那契數(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("請輸入要檢查的數(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();
}以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在C#中根據(jù)HardwareID獲取驅(qū)動(dòng)程序信息的實(shí)現(xiàn)代碼
這篇文章主要介紹了C#中根據(jù)HardwareID獲取驅(qū)動(dòng)程序信息的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-12-12
C#實(shí)現(xiàn)判斷文件夾存在與否并創(chuàng)建文件夾的方法
這篇文章主要介紹了C#實(shí)現(xiàn)判斷文件夾存在與否并創(chuàng)建文件夾的方法,涉及C#針對文件及目錄的判斷與創(chuàng)建操作相關(guān)技巧,需要的朋友可以參考下2017-02-02
C#實(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)技巧,非常簡單實(shí)用,需要的朋友可以參考下2015-11-11


