- 题解
小图的数学课题解
- 2024-1-27 13:19:57 @
一道很水的循环题
首先:
特判0 (你想不特判也不是不行,也能对)
if(n==0){
cout<<1;
return 0;
}
再看正常情况: 可以看出,如果n是奇数,就把不大于n的所有奇数相乘,如果n是偶数,就把不大于n的所有偶数相乘
也就是说:
将1~n中与n奇偶性相同的数相乘
由此得代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,ans=1; //不开long long见祖宗
cin>>n;
if(n==0){ //这里其实特不特判都行
cout<<1;
return 0;
}
for(int i=1;i<=n;i++){
if(i%2==n%2){ //判断奇偶性相同
ans*=i;
}
}
cout<<ans;
return 0; //好习惯
}
2 条评论
-
@ 2024-2-7 14:39:08
有实力*2
-
2024-1-27 23:41:33@
有实力
- 1