Khôi Ròm
December 08, 2020 - Tuesday, 8 December 2020
1 Dãy số Armstrong
Là dãy số khi mà tách 1 số thằng từng chữ số rồi ta thực hiện tổng có các số với số mũ là số các chữ số
nếu tổng lại bằng với số ban đầu là số armstrong
EX: 153 = 1^3 + 5^3 +3^3 = 153 ==> là số Armstrong
EX: 1634 = 1^4 + 6^4 + 3^4 + 4 ^4 ==> là số Armstrong
2 Số bình phương đặc biệt
Số 45 là một số mà452= 2025 = 20 + 25 = 45, và có rất nhiều số dạng như vậy, ví dụ số 9, 55, 99. Cụ thểlà có một dãy số thỏa điều kiện trên gồm: 1, 9, 45, 55, 99, 297, 703,999, 2223,2728,...
Code:
#include <bits/stdc++.h>
using namespace std;
// Hàm đếm số các chữ số
int count(int n)
{
int i = 0;
while( n != 0)
{
int k = n % 10;
n = n / 10;
i++;
}
return i;
}
// Tạo hàm mũ
long long mux(int z,int k)
{
long long tich = 1;
for(int i = 1 ; i <= k ; i++)
tich = tich*z;
return tich;
}
/*
Nhập n = 1 số bất kỳ
n sễ được truyền lên hàm count đếm số các chữ số
sau gán hàm đếm
*/
int main()
{
int n;
cin>>n;
int k = count(n);
long long c = mux(n,2) % mux(10,k);
long long d = mux(n,2) / mux(10,k);
if((c+d) == n)
cout<<"YES";
else
cout<<"NO";
return 0;
}
3 Số Lucas
Số Lucas là một dãy số được đặt tên nhằm vinh danh nhà toán học François Édouard Anatole Lucas (1842–1891), người đã nghiên cứu dãy số Fibonacci, dãy số Lucas và các dãy tương tự. Giống như dãy Fibonacci, mỗi số trong dãy Lucas bằng tổng của hai số liền trước nó. Dãy số gồm thương giữa hai số Lucas liền nhau sẽ hội tụ đến giới hạn bằng tỉ lệ vàng.
Tuy vậy khác với dãy Fibonacci, hai số đầu tiên trong dãy Lucas là L0 = 2 và L1 = 1 (trong dãy Fibonacci là 0 và 1). Chính vì thế mà một số tính chất của số Lucas sẽ khác với số Fibonacci.
#include <bits/stdc++.h>
using namespace std;
int lucasNumber(int n)
{
if(n == 0)
return 2;
if(n == 1)
return 1;
return lucasNumber(n - 1) + lucasNumber(n - 2);
}
/*
if n = 0 ==> L0 = 2
if n = 1 ==> L1 = 1
if n > 1
==>
L2 = L1 + L0 = 2 + 1 = 3
L3 = L2 + L1 = 3 + 1 = 4
L4 = L3 + L2 = 4 + 3 = 7
*/
int main()
{
int n;
cin>>n;
int num[n];
for(int i = 0 ; i < n ; i++)
cin>>num[i];
for(int i = 0 ; i < n ;i++)
cout<<lucasNumber(num[i])<<endl;
return 0;
}
4 số mũ tịnh tiến
Số mũ tịnh tiến là số như sau 135 = 1^3 + 3*3 + 5^3
#include <bits/stdc++.h>
using namespace std;
int count(int n)
{
int i = 0,k;
while(n != 0)
{
k = n % 10;
i++;
n = n / 10;
}
return i;
}
int sum(int n)
{
int k,z,sum = 0;
while(n != 0)
{
k = n % 10;
z = count(n);
sum = sum + pow(k,z);
n = n / 10;
}
return sum;
}
int main()
{
int n;
cin>>n;
if(n == sum(n))
cout<<"YES";
else
cout<<"NO";
return 0;
}
Số 4