F(x) = x, $\forall x \le 9$
F(x) = F(S(x)), $\forall $ x>9
S(x) = tổng các chữ số của x.
Yêu cầu: cho x, tính F(x!), $x \le 500$
Nhận xét:
- $\forall x \le 5$, ta có thể làm trực tiếp bằng tay.
- $\forall $ x>5, ta thấy $(x!) \vdots $9 nên $S(x!) \vdots $9, do đó, $S(...S(S(x!))...) = 9$,
Nói cách khác F(x!) = 9 $\forall $ x>5
Source code
#include <stdio.h>
using namespace std;
int main()
{
int n, ans;
scanf("%d", &n);
switch (n)
{
case 1:
ans = 1;
break;
case 2:
ans = 2;
break;
case 3: case 4:
ans = 6;
break;
case 5:
ans = 3;
break;
default: ans = 9;
}
printf("%d", ans);
return 0;
}
hơi đơn điệu nhưng tương đối dễ nhìn hơn các blog/site khác!
Trả lờiXóaCNTN 2013