本文首先用判断一个数字是否为素数使用For循环实现做例子,之后用函数完成多个功能。
什么是素数?
素数又成质数,不包含1和0。通俗的去说就是它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。如,2*2=4 所以4不是素数,2*3=6,6也不是。13除了等于13*1以外,不能表示为其它任何两个整数的乘积,所以13是一个素数。
1 /* 2 Name:判断一个数字是否是素数 3 Copyright: By.不懂网络 4 Author: Yangbin 5 Date:2014年3月5日 01:29:58 6 Description: 这是一个没有使用函数的例子,缺点可利用性不高。 7 */ 8 # include <stdio.h> 9 int main(void) 10 { 11 int i,val; 12 scanf("%d",&val); //输入一个数,判断是否素数 13 for (i=2;i<val;++i) 14 { 15 if(0 == val%i) 16 break; 17 } 18 if (i == val) 19 printf("该数字是素数\n"); 20 else 21 printf("该数字非素数\n"); 22 } 23 24 /* 25 ---------------------- 26 该代码由C-Free 5.0 编写并输出调试结果 27 --------------输出结果--------------- 28 13 29 该数字是素数 30 */
使用函数完成判断这个数字是否为素数
1 /* 2 Name:判断一个数字是否是素数 3 Copyright: By.不懂网络 4 Author: Yangbin 5 Date:2014年3月5日 01:53:00 6 Description: 使用函数可以让代码的可重复性提高。 7 */ 8 # include <stdio.h> 9 bool IsPrime(int val) 10 { 11 int i; 12 13 for (i=2;i<val;++i) 14 { 15 if(0 == val%i) 16 break; 17 } 18 if (i == val) 19 return true; 20 else 21 return false; 22 } 23 24 int main(void) 25 26 { 27 int i,val; 28 scanf("%d",&val); //输入一个数,判断是否素数 29 { 30 if(IsPrime(val)) 31 printf("YES\n"); 32 else 33 printf("NO\n"); 34 } 35 36 } 37 38 /* 39 ---------------------- 40 该代码由C-Free 5.0 编写并输出调试结果 41 --------------输出结果--------------- 42 43 */
未完,待续……