大佬帮帮忙呗

1. 递归求 n!

题目ID:7974必做题100分

最新提交:

Wrong Answer

30 分

历史最高:

Wrong Answer

30 分

时间限制: 200ms

空间限制: 32000kB

题目描述

使用递归求 123*…*n 的结果。

答案对998244353取模。

输入格式:

一个正整数代表n。

输出格式:

计算结果对998244353取模。

样例输入:

1

样例输出:

1

约定:

1<=n<=10000

代码:

#include<iostream>
using namespace std;
long long f(int n){
  if(n==1)return 1;
  return f(n-1)*n%99824435;
}
int main(){
  int n;
  cin>>n;
  cout<<f(n);
  return 0;
}
1 个赞

取模998244353

99824435%(f(n-1)*n)
这样吗?

是return f(n-1)*n%998244353;

long long f(long long n)

开long long

不用

你跑一下int的,过不了,是取模的问题,掉了个3

函数里的n不用long long

看到了,f()就是long long

我就说怎么老30分,掉个3可还行

代码第五行把“99824435”改为“998244353”

#include<iostream>
using namespace std;
long long f(int n){
  if(n==1)return 1;
  return f(n-1)*n%99824435;
}
int main(){
  int n;
  cin>>n;
  cout<<f(n);
  return 0;

仍旧30 :no_mouth:

return f(n-1)*n%998244353;

AC了,这么多人来帮忙都谢谢了