C#递归判断质数
今天又遇到了递归的问题,真正的自己动手写了个,以此留念~给自己一个教训。不要只停留在理论。
1 /// <summary> 2 /// 是否质数判断 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void btnZhiShu_Click(object sender, EventArgs e) 7 { 8 int intInput = 1; 9 if (!string.IsNullOrEmpty(this.txtInput.Text) && int.TryParse(this.txtInput.Text, out intInput)) 10 { 11 if (IsZhishu(intInput, 2)) 12 { 13 MessageBox.Show("Yes", "Prompt"); 14 } 15 else 16 { 17 MessageBox.Show("Oh!No~", "Prompt"); 18 } 19 } 20 else 21 { 22 MessageBox.Show("Error~", "Prompt"); 23 } 24 } 25 private bool IsZhishu(int n, int a) 26 { 27 //负数、0、1不是质数 28 if (n < 2) 29 { 30 return false; 31 } 32 //本身相等,表示是质数 33 if (n == a) 34 { 35 return true; 36 } 37 if (n % a == 0) 38 { 39 //能被其他整数相除,不是质数 40 return false; 41 } 42 else 43 { 44 //递归判断 45 return IsZhishu(n,a+1); 46 } 47 }
浙公网安备 33010602011771号