对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数:
【案例描述】
输入:900
输出:900=2×2×3×3×5×5
【案例分析】
输出正整数m为其全部质因数的乘积的基本思路是:
1、从最小的可能因子2开始搜索:k=2
2、如果m不能被k整除,则转步骤4
3、输出质因数k,m=m/k,转步骤2
4、k=k+1
5、如果k<=m,转步骤2
6、结束
说明:
以上算法没有判断k是否为质数。这是因为,当找到最小的正整数k(k>1)是m的约数时,k一定是质数。如:m=900
(1)k=2,是900的因数,也肯定是900的质因数:m=900/2=450
(2)2是450的质因数:m=450/2=225
(3)2不能整除255,k=k+1后k=3
(4)3是255的因数,也是900的质因数:m=255/3=85
(5)3是85的质因数:m=85/3=25
(6)3不能整除25,k=k+1后k=4
(7)4不能整除25,k=k+1后k=5
(8)5是25的质因数,也是900的质因数:m=25/5=5
(9)5是5的质因数:m=5/5=1
(10)k<=m不再成立,输出结束。
【参考代码】
main()
{ int k,m,f=0; //f用于确定是否找到质因数
scanf("%d",&m);
printf("%d=",m);
for(k=2;k<=m;k++)
for(;m%k==0;m/=k)
if(f==0){f=1;printf("%d",k);}
else printf("×%d",k);
}