diff options
-rw-r--r-- | others/mHoang20150916/README.md | 42 | ||||
-rw-r--r-- | others/mHoang20150916/pfactor.c | 21 | ||||
-rw-r--r-- | others/mHoang20150916/triangle.c | 19 |
3 files changed, 82 insertions, 0 deletions
diff --git a/others/mHoang20150916/README.md b/others/mHoang20150916/README.md new file mode 100644 index 0000000..3f6d5b0 --- /dev/null +++ b/others/mHoang20150916/README.md @@ -0,0 +1,42 @@ +# mHoang + +## THỪA SỐ NGUYÊN TỐ (PFACTOR.*) + +Cho số nguyên dương n, tìm số nguyên tố p lớn nhất là ước số của n. + +### Dữ liệu + +Vào từ thiết bị nhập chuẩn số nguyên n, (2 ≤ n ≤ 10<sup>14</sup>). + +### Kết quả + +Ghi ra thiết bị xuất chuẩn một số nguyên duy nhất là ước số nguyên tố lớn nhất +của n. + +### Ví dụ + +| Sample Input | Sample Output | +| :----------: | :-----------: | +| 10 | 5 | + +## TAM GIÁC (TRIANGLE.*) + +Cho ba số nguyên a, b, c là độ dài ba cạnh của một tam giác, hãy cho biết tam +giác đó là tam giác vuông, nhọn, hay tù. + +### Dữ liệu + +Vào từ thiết bị nhập chuẩn ba số nguyên dương a, b, c cách nhau bởi dấu cách. + +### Kết quả + +Ghi ra thiết bị xuất chuẩn số 0, 1, hay 2 tùy theo tam giác đó là vuông, nhọn, +hay tù. + +### Ví dụ + +| Sample Input | Sample Output | +| :----------: | :-----------: | +| 3 4 5 | 0 | +| 3 3 3 | 1 | +| 3 4 6 | 2 | diff --git a/others/mHoang20150916/pfactor.c b/others/mHoang20150916/pfactor.c new file mode 100644 index 0000000..fee50b5 --- /dev/null +++ b/others/mHoang20150916/pfactor.c @@ -0,0 +1,21 @@ +#include <stdio.h> +#include <math.h> + +int main() +{ + long long n, sqrtn; + long i, tmp; + + scanf("%lld", &n); + sqrtn = sqrt(n); + + for (i = 2; i <= sqrtn && n > 1; i++) + while (n % i == 0) { + n /= i; + tmp = i; + } + + printf("%lld\n", (n == 1) ? tmp : n); + + return 0; +} diff --git a/others/mHoang20150916/triangle.c b/others/mHoang20150916/triangle.c new file mode 100644 index 0000000..0f5d28e --- /dev/null +++ b/others/mHoang20150916/triangle.c @@ -0,0 +1,19 @@ +#include <stdio.h> + +char angle(long x, long y, long z) +{ + long long tmp = x * x + y * y - z * z; + + return (tmp ? (tmp > 0 ? 1 : 2) : tmp); +} + +int main() +{ + long a, b, c; + + scanf("%ld %ld %ld", &a, &b, &c); + + printf("%hhd\n", angle(a, b, c) * angle(b, c, a) * angle(c, a, b)); + + return 0; +} |