1. 程式人生 > >c語言編程1×2×3×……×n所得的數末尾有多少0

c語言編程1×2×3×……×n所得的數末尾有多少0

輸出 註意 main c語言 表達式 數字 pri \n print

尾數為0主要抓住相乘數字中的末尾是5和0的數值,一個5就可以和一個2或4相乘得到一個末尾是0的數,所以只要計算有多少末尾是5或0的數字就好;當然25、125之類的數字又可以分為5×5、5×5×5,所以25要當兩個5看待;代碼如下
#include <stdio.h>
int main()
{
int n,i,j,sum=0;
printf("請輸出一個數:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
j=i;//while語句之前必須給表達式賦初值(註意)
while(j%5==0)
{
sum++;
j/=5;
}
if(i==n)
printf("該相乘數字末尾有%d個0",sum);
}
return 0;
}

c語言編程1×2×3×……×n所得的數末尾有多少0