清华大学机试 n的阶乘 Easy *注意范围,低于20用double longlong 高于用大数(具体表示范围在语言基础中)
基本思想: 老生常谈的问题,这种阶乘主要考察溢出。 用大数、long long、double可以解决; 关键点: 无; #include<iostream> #include<vector> #include<string> #include<algorithm> using namespace std; double fun(double n) { if (n == 1) return 1; double cnt = 1; while (n != 0.0) { cnt *= n; n--; } return cnt; } int main() { double n; while (cin >> n) { printf("%.0lf\n", fun(n)); } return 0; } 来源: https://www.cnblogs.com/songlinxuan/p/12446293.html