giải bài toán : cho dãy là 1/4 ; 1/28 ; 1/70 ; 1/130 ; .... tìm tổng từ phân số đầu đến phân số thứ 100
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Bài làm:
Ta có: \(\frac{1}{4}=\frac{1}{1\times4}\) ; \(\frac{1}{28}=\frac{1}{4\times7}\) ; \(\frac{1}{70}=\frac{1}{7\times10}\) ; \(\frac{1}{130}=\frac{1}{10\times13}\) ; ...
Từ đó ta suy ra được quy luật của dãy là nghịch đảo tích của 2 số liên tiếp trong dãy sau:
1 ; 4 ; 7 ; 10 ; 13 ; ...
Số thứ 100 trong dãy trên là:
\(1+3\times99=298\)
Vậy phân số thứ 100 trong dãy trên là:
\(\frac{1}{298\times\left(298+3\right)}=\frac{1}{298\times301}=\frac{1}{89698}\)
Vậy phân số thứ 100 là \(\frac{1}{89698}\)
Input: N, dãy số nguyên a1,a2,...,aN và k
Output: Số phần tử là bội của k
Thuật toán liệt kê:
Bước 1: Nhập N, dãy số nguyên a1,a2,...,aN và k
Bước 2: d←0; i←1;
Bước 3: Nếu i>N thì in ra d và kết thúc
Bước 4: Nếu ai chia hết cho k thì d←d+1;
Bước 5: i←i+1; quay lại bước 3
Ý tưởng: Sau khi nhập dãy xong rồi chúng ta sẽ xét từng phần tử trong dãy nếu có phần tử nào chia 10 dư 0 hoặc 5 thì tăng dem lên, và dem chính là két quả của đề bài
Input: dãy số nguyên gồm n số được nhập từ bạn phím
Output: số lớn nhất, bé nhất trong dãy
B1: nhập dãy số nguyên
B2: gán max:=a[1]; min:=a[1]
B3: nếu max<a[i] thì max:=a[i]; min>a[i] then min:=a[i]
B4: in kết quả ra màn hình
#include <bits/stdc++.h>
using namespace std;
long long a[1000],n,i,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if ((i%2==1) and (x%2==0)) dem++;
}
cout<<dem;
return 0;
}
Nhận thấy
1/4 = 1/(1.4)
1/28 = 1/(4.7)
1/70 = 1/(7.10)
....
Gọi phân số thứ 100 của dãy :
1/n(n + 3)
Xét thừa số đầu của mẫu số của các phân số từ đầu đến phân số thứ 100 ta được dãy số sau
1;4;7;...;n
mà (n - 1) : 3 + 1 = 100
=> (n - 1) : 3 = 99
=> n - 1 = 297
=> n = 298
=> n + 3 = 301
=> 1/n(n + 3) = 1/298.301 = 1/89698
Vậy phân số thứ 100 trong dãy là 1/89698