循环从1乘到20,要注意的就是结果可能会很大,长度超出int类型的范围,所以定义乘积的时候用long. 代码如下: public class Practice3 { public static void main(String args[]){ long result=1; for(int i=1;i<=20;i++) result=result*i; System.out.println("20的阶乘为"+result); } } 效果如图:…
求阶乘序列前N项和 #include <stdio.h> double fact(int n); int main() { int i, n; double item, sum; while (scanf("%d", &n) != EOF) { sum = 0; if (n <= 12) { for (i = 1; i <= n; i++) { item = fact(i); sum = sum + item; } } printf("%.0f…
除了调用库,绝对找不到比这更精简的代码了. #include<stdio.h> #include<string.h> long long getdata(long long n){ long long sum = 1; while(n){ sum*=n--; } return sum; } int main(){ long long sum = 0; long…
水题,没有难点 #include<stdio.h> #include<algorithm> #include<math.h> using namespace std; int main(){ int N;scanf("%d",&N); int shi,xu;double jieguo=0; for(int i=0;i<N;i++){ scanf("%d%d",&shi,&xu); int temp=s…
一,java端: 定义native方法, 'public native long factorial(int n);', 该方法用c/c++实现,计算'1到20阶乘的和',参数中'int n'是前n项的阶乘的和(这里是20).返回计算结果,并返回java调用处. 代码为: public class FactorialJava { public native long factorial(int n); //evaluate the elapse time.and the execution re…