Thứ Bảy, 16 tháng 11, 2013

Một vài bài toán đơn giản 3

Cho hàm F(x), $x \ge 0$ được định nghĩa như sau:
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;
}

1 nhận xét:

  1. hơi đơn điệu nhưng tương đối dễ nhìn hơn các blog/site khác!
    CNTN 2013

    Trả lờiXóa