cho số N nguyên dương và dãy A gồm N phần tử kiểm tra xem dãy số vừa nhập có phải là một cấp số cộng hay không
VD: N= 4
Dãy A: 1 2 3 4 à là cấp số cộng với công sai d=1
Yêu cầu:
- xác định bài toán
- nêu ý tưởng
- mô tả thuật toán
Viết chương trình tính tổng của một cấp số cộng có n phần tử biết phần tử thứ nhất là A và D là công sai được nhập từ bàn phím.
Gợi ý:
- Tổng n số hạng của cấp số cộng là: Sn=n(A+D)/2
#include <bits/stdc++.h>
using namespace std;
double n,a,d;
int main()
{
cin>>n>>a>>d;
cout<<fixed<<setprecision(2)<<n*(a+d)/2;
return 0;
}
Chứng minh , kiểm tra 1 dãy số có là cấp số cộng hay không ? xác định U1 , d
a , \(\left\{{}\begin{matrix}u_1\\u_n+1=u_n-n\end{matrix}\right.\)
b , \(\left\{{}\begin{matrix}u_1=a\\u_n+1=5\end{matrix}\right.\) tìm a để d số là cấp số cộng
a)
Input: Dãy n số nguyên
Output: Đếm xem trong dãy đó có bao nhiêu số nguyên dương
b)
Bước 1: Nhập n và nhập dãy số
Bước 2: dem←0; i←1;
Bước 3: Nếu a[i]>0 thì dem←dem+1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Xuất dem
Bước 7: Kết thúc
Input: Số nguyên N và dãy a1,a2,...,aN
Output: Số số nguyên có trong dãy
Thuật toán:
- Bước 1: Nhập N và dãy a1,a2,...,aN
- Bước 2: d←0; i←1;
- Bước 3: Nếu i>N thì in ra có d số dương trong dãy và kết thúc
- Bước 4: Nếu ai > 0 thì d←d+1;
- Bước 5: i←i+1, quay lại bước 3
Viết chương trình nhập từ bàn phím số nguyên dương N(N=150) và dãy A gồm N số nguyên A¹ , A²,...An, có giá trị tuyệt đối không lớn hơn 900. Hãy cho biết dãy A có phải cấp số cộng hay không và thông báo kết quả ra màn hình
Viết năm số hạng đầu của mỗi dãy số \(\left( {{u_n}} \right)\) sau và xét xem nó có phải là cấp số cộng không. Nếu dãy số đó là cấp số cộng, hãy tìm công sai d và viết số hạng tổng quát của nó dưới dạng \({u_n} = {u_1} + \left( {n - 1} \right)d\)
a) \({u_n} = 3 + 5n;\)
b) \({u_n} = 6n - 4\);
c) \({u_1} = 2,\;{u_n} = {u_{n - 1}} + n\);
d) \({u_1} = 2,\;{u_n} = {u_{n - 1}} + 3\).
a) \({u_1} = 8;\;\;\;\;{u_2} = 13;\;\;\;\;\;{u_3} = 18;\;\;\;\;\;{u_4} = 23;\;\;\;\;\;{u_5} = 28\).
Ta có: \({u_n} - {u_{n - 1}} = 3 + 5n - \left[ {3 + 5\left( {n - 1} \right)} \right] = 5,\;\forall n \ge 2\).
Vậy dãy số \(\left( {{u_n}} \right)\) là cấp số cộng với \({u_1} = 8\) và công sai \(d = 5\).
Số hạng tổng quát: \({u_n} = 8 + 5\left( {n - 1} \right)\).
b) \({u_1} = 2;\;\;\;\;{u_2} = 8;\;\;\;\;{u_3} = 14;\;\;\;\;\;{u_4} = 20;\;\;\;\;\;{u_5} = 26\).
Ta có: \({u_n} - {u_{n - 1}} = 6n - 4 - \left[ {6\left( {n - 1} \right) - 4} \right] = 6,\;\forall n \ge 2\).
Vậy dãy số \(\left( {{u_n}} \right)\) là cấp số cộng với \({u_1} = 2\) và công sai \(d = 6\).
Số hạng tổng quát: \({u_n} = 2 + 6\left( {n - 1} \right)\).
c) \({u_1} = 2;\;\;\;\;{u_2} = 4;\;\;\;\;\;{u_3} = 7;\;\;\;\;\;\;{u_4} = 11;\;\;\;\;\;\;\;{u_5} = 16\)
Ta có: \({u_n} - {u_{n - 1}} = n,\;\) n biến động.
Suy ra đây không phải là cấp số cộng.
d) \({u_1} = 2;\;\;\;\;{u_2} = 5;\;\;\;\;\;\;{u_3} = 8;\;\;\;\;\;\;{u_4} = 11;\;\;\;\;\;\;\;{u_5} = 14\)
Ta có: \({u_n} - {u_{n - 1}} = 3\).
Vậy dãy số \(\left( {{u_n}} \right)\) là cấp số cộng với \({u_1} = 2\) và công sai \(d = 3\).
Số hạng tổng quát: \({u_n} = 2 + 3\left( {n - 1} \right),\;\forall n \ge 2\).
bài 1 viết chương trình nhập vào từ bàn phím n và dãy số nguyên a1,a2,..,an (0<n<100)
a. In dãy số vừa nhập ra màn hình theo thứ tự ngược lại
b. Kiểm tra xem dãy a1,a2,...,an có phải là dãy số đối xứng hay không?biết dãy số đối xứng là dãy đọc từ trái qua phải cũng giống đọc từ phải qua trái
n = int(input("Nhập n: "))
a = [ ]
for i in range(n):
a.append(int(input(f"Nhập phần tử a[{i}]: ")))
print("Dãy số vừa nhập:")
# In dãy số theo thứ tự ngược lại
print(a[::-1])
if a == a[::-1]:
print("Dãy số là dãy đối xứng")
else:
print("Dãy số không phải là dãy đối xứng")
a.Viết chương trình nhập vào 1 số nguyên n in ra màn hình các số chẵn in ra từ 1 đến n b.Viết chương trình nhập 1 dãy số nguyên n phần tử kiểm tra xem n có phải số nguyên tố hay không
c.Viết chương trình nhập vào 1 dãy số nguyên gồm n phần tử in ra màn hình các số chia hết cho 2
d. Viết chương trình 1 dãy số nguyên gồm n phần tử in ra màn hình số nhỏ nhất có trong dãy.
c:
#include <bits/stdc++.h>
using namespace std;
long long a[1000],n,i;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++)
if (a[i]%2==0) cout<<a[i]<<" ";
return 0;
}
d:
#include <bits/stdc++.h>
using namespace std;
long long a[1000],n,i,nn;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
nn=a[1];
for (i=1; i<=n; i++) nn=min(nn,a[i]);
cout<<nn;
return 0;
}
Hãy dùng phương pháp liệt kê để thể hiện thuật toán của bài toán sau:
Cho một dãy a gồm n số nguyên a1,a2,..an được nhập từ bàn phím (n<=100) có giá trị tuyệt đối không lớn hơn 1000. Hãy cho biết a có phải là một cấp số cộng không?