南邮 OJ 1170 C阶乘问题
来源:互联网 发布:unity3d 材质球下载 编辑:程序博客网 时间:2024/06/10 04:48
C阶乘问题
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 619 测试通过 : 39
总提交 : 619 测试通过 : 39
比赛描述
也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如:
12! = 1×2×3×4×5×6×7×8×9×10×11×12 = 479,001,600
12的阶乘最右边的非零位为6。
写一个程序,计算N(1<=N<=50,000,000)阶乘的最右边的非零位的值。注意:10,000,000!有2499999个零。
输入
仅一行包含一个正整数N。
输出
单独一行包含一个整数表示最右边的非零位的值。
样例输入
12
样例输出
6
提示
题目来源
NUAA_缪荣
#include<iostream>using namespace std;int GetRightestNoZeroDigitA(int n){int m = 1, c = 0, i;int cr[] = { 1, 3, 4, 2 };int rr[] = { 1, 6, 2, 8, 4 };while( n > 1){ if ( 2 == (i = n % 5) ) m <<= 1; else if ( 4 == i ) m <<= 2; c += n /= 5;}if ( c & 1 ) return rr[ ( cr[ c % 4 ] * 4 * m ) % 5 ];return rr[ ( cr[ c % 4 ] * m ) % 5 ]; }int main(){int N;cin>>N;cout<<GetRightestNoZeroDigitA(N)<<endl;}/*Time Limit Exceed at Test 7#include<stdio.h>#include<stdlib.h>int main(){int n,i,o,k=0,l=0,m=1,r,f;scanf("%d",&n);if(n==1){printf("1\n");exit(0);} for(i=1;i<=n;i++){o=i;l=0;while(o%2==0){o=o/2;k=k+1; }while(o%5==0){o=o/5;l=l+1;}k=k%4-l%4; if(k<0)k=k+4;m=(m*o)%10; }switch(k){case 0:r=6;break; case 1:r=2;break;case 2:r=4;break;case 3:r=8;break;}f=(m*r)%10;printf("%d\n",f);}*//*WA4# include<iostream>using namespace std;int main(){ int nNum,sum,i,loop; while(cin>>nNum) { sum=1; for(i=nNum;i>=1;i--) { sum*=i; loop=sum/10; while(loop*10==sum)//消0 { sum/=10; loop=sum/10; } if(sum>=100000)//保存末尾5位数字即可 sum%=100000; } cout<<sum%10<<endl; } return 0;}*//*WA3#include <stdio.h>int main(){int num, p=1;scanf("%d",&num);while(num){p*=num;while(p%10==0)p/=10;p%=10;num--;}printf("%d\n",p);return 0;}*//*WA2#include<stdio.h>int main(){int N,i,result,temp;scanf("%d",&N);for(result=i=1;i<=N;i++){temp = i;while(temp%100==0){temp /= 100;}temp %= 100;result *=temp;while(result%100==0){result /= 100;}result %= 100;}printf("%d\n",result%10);}*/
0 0
- 南邮 OJ 1170 C阶乘问题
- 南邮 OJ 1590 阶乘
- 南邮 OJ 1093 阶乘之和
- neuq oj 1010 阶乘数列 C语言
- 南阳oj 题目65 另一种阶乘问题
- 代码:swust oj 0083 阶乘问题
- 南阳OJ 题目65:另一种阶乘问题
- C 语言迭代求阶乘问题
- 哈理工OJ 1425 阶乘问题(水题)
- UVa OJ 623 阶乘
- OJ之阶乘之和
- 南阳OJ 阶乘因式分解
- 阶乘之和||南阳OJ
- 阶乘问题!
- 阶乘问题
- 阶乘问题//
- 阶乘问题
- 阶乘问题
- C/C++语言中sizeof对于数组的一点总结
- iOS 7中的extendedLayout
- 描述子
- ios禁止屏幕旋转
- Stm32系列
- 南邮 OJ 1170 C阶乘问题
- GDB拾忆之二
- 三分钟英语(二)—Alicha
- Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
- Windows多进程编程
- iOS 使用nib文件(一)
- C语言链表实例讲解
- Objective-C和Swift中常用的第三方库都可以在这个平台看到
- iOS 使用cocoapods遇见头文件找不到