Hệ sinh thái số IELP
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Hệ sinh thái số IELP

Học lập trình với Hệ sinh thái số IELP
 
Trang ChínhTrang Chính  CalendarCalendar  Latest imagesLatest images  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Keywords
hình Minh Nhàn nguyễn wavio điểm Trần tổng giác phương pháp BANG thưởng Phần nhật Hoàng đặng HOAI Thành sinh Phạm chứa sach 2022 tích được
Latest topics
» Buổi học số 1. Cấu trúc tuần tự trong C++ (Bài 1 -> Bài 15)
KTLT12. Dãy số		 EmptyThu Apr 25, 2024 10:49 am by quanle1120

» Chấm bài trực tuyến với Jusolan.ddns.net
KTLT12. Dãy số		 EmptyWed Apr 24, 2024 9:15 pm by Admin

» Bài kiểm tra giữa Học kỳ II
KTLT12. Dãy số		 EmptyWed Apr 05, 2023 8:00 am by Nguyễn Đức Mạnh

» Bài giữa kì 2
KTLT12. Dãy số		 EmptyMon Apr 03, 2023 8:34 am by Khách viếng thăm

» Bài giữa kì tin Lê Đức Anh
KTLT12. Dãy số		 EmptySun Apr 02, 2023 8:33 pm by Tendalda06

» Nghiêm Tuấn Tú
KTLT12. Dãy số		 EmptySat Apr 01, 2023 9:03 am by Nghiêm Tuấn Tú

» Nguyễn Trần Ý Nhi
KTLT12. Dãy số		 EmptySat Apr 01, 2023 8:23 am by Nguyễn Trần Ý Nhi

» Nguyễn Kim Anh
KTLT12. Dãy số		 EmptySat Apr 01, 2023 12:05 am by Khách viếng thăm

» Trần Thanh Trà
KTLT12. Dãy số		 EmptyFri Mar 31, 2023 11:10 pm by Trần Thanh Trà

May 2024
MonTueWedThuFriSatSun
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendarCalendar
Top posting users this week
No user

 

 KTLT12. Dãy số

Go down 
+3
nghiadaixdxd
dobinhminh01
Admin
7 posters
Tác giảThông điệp
Admin
Admin



Tổng số bài gửi : 152
Join date : 23/04/2022
Age : 41
Đến từ : THPT Chuyên Nguyễn Tất Thành - Yên Bái

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyThu May 12, 2022 8:05 pm

KTLT12. Dãy số
Xét dãy số nguyên a1, a2, . . ., an , . . ., trong đó a1 = 1, an được xác định như sau: đảo ngược thứ tự viết các chữ số của an-1 (trong hệ cơ số 10) và cộng thêm 2 vào số nhận được.
Phần đầu của dãy số này có giá trị như sau:
Chỉ số 1 2 3 4 5 6 7 8 9 10 11 12 . . .
Dãy a 1 3 5 7 9 11 13 33 35 55 57 77 . . .

Yêu cầu: Cho số nguyên dương n. Hãy xác định an (1 ≤ n ≤ 10^12).
Dữ liệu: Vào từ file văn bản SEQUENCE.INP gồm nhiều tests, mỗi test cho trên một dòng chứa một số nguyên n.
Kết quả: Đưa ra file văn bản SEQUENCE.OUT, kết quả mỗi test đưa ra trên một dòng.
Ví dụ:
SEQUENCE.INP
1
12
SEQUENCE.OUT
1
77

dobinhminh01 likes this post

Về Đầu Trang Go down
https://ielp.forumvi.com
dobinhminh01




Tổng số bài gửi : 14
Join date : 10/05/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptySat May 14, 2022 10:20 pm

Code:
// Simple Anh Long <3

#include <bits/stdc++.h>

#define fast ios_base::sync_with_stdio(false);\
                                cin.tie(NULL);\
                                cout.tie(NULL);
#define io freopen("SEQUENCE.INP","r",stdin);\
          freopen("SEQUENCE.OUT","w",stdout);
#define maxn 1000009
#define ll long long
#define vt vector
#define pb push_back

using namespace std;

int dp[100];
ll n;

int sdn(int n)
{
    int daonguoc = 0;
    while(n > 0)
    {
        daonguoc = (daonguoc + n%10) * 10;
        n /= 10;
    }
    return daonguoc;
}

int main()
{
    fast;
    io;
    while(cin >> n){
    dp[1] = 1;
    //cout << dp[1] << endl;
    for(int i = 2;i <= 7; i++){
        dp[i] = dp[i-1] + 2;
        //cout << dp[i] << '\n';
    }
    //cout << endl;
    for(int i = 8; i <= 82; i++)
    {
      dp[i] = sdn(dp[i-1])/10 + 2;
      //cout << dp[i] << '\n';
    }
    cout<<dp[n-(n/81)*81];
    return 0;
}


Được sửa bởi dobinhminh01 ngày Mon Jun 13, 2022 3:27 pm; sửa lần 3.

Admin and nghiadaixdxd like this post

Về Đầu Trang Go down
nghiadaixdxd




Tổng số bài gửi : 7
Join date : 10/05/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptySun May 15, 2022 2:22 pm

Code:
#include <bits/stdc++.h>
#define maxn 100000
using namespace std;
int dp[100];
long long n;
int sdn(int u){
    int daonguoc = 0;
    while(u > 0){
        daonguoc=(daonguoc+u%10)*10;
        u/=10;
    }
    return daonguoc;
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    freopen("SEQUENCE.INP","r",stdin);
    freopen("SEQUENCE.OUT","w",stdout);
    while (cin>>n){
    dp[1]=1;
    for(int i=2;i<=82;i++)
        dp[i]=dp[i-1]+2;
    if (n<=82){
    for(int i=8 ;i <= n; i++)
        dp[i] = sdn(dp[i-1])/10+2;
    }else{
    for(int i=8 ;i <= 82; i++){
        dp[i] = sdn(dp[i-1])/10+2;
        }
    }
    cout<<dp[n-(n/81)*81];
    }
}

Admin likes this post

Về Đầu Trang Go down
meliodasssf




Tổng số bài gửi : 71
Join date : 10/05/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyTue May 17, 2022 3:27 pm

Code:

#include<bits/stdc++.h>
using namespace std;
#define forl(i,a,b) for (int i=a; i<=b; i++)
#define forr(i,a,b) for (int i=a; i>=b; i--)
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))

int n,maxx,A[100001],N[100001],dem=0;

void nhap()
{
    while (cin >> n)
    {
        maxx = max(maxx,n);
        N[++dem] = n;
    }
    A[1] = 1;
}

int revers(int x)
{
    int temp=0;
    while (x>0)
    {
        temp *= 10;
        temp += x%10;
        x /= 10;
    }
    return temp;
}

int main ()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    nhap();
    forl (i,2,maxx)
    {
        A[i] = revers(A[i-1]) + 2;
    }
    forl (i,1,dem) cout << A[N[i]] << "\n";
    return 0;
}

Admin likes this post

Về Đầu Trang Go down
hahung413




Tổng số bài gửi : 16
Join date : 10/05/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyTue May 17, 2022 3:30 pm

Code:
#include <bits/stdc++.h>
using namespace std;
int n,a[100001];

long long sd(int x)
{
    int sodao = 0;
    while(x)
    {
        sodao = sodao*10 + (x % 10);
        x = x/10;
    }
    return sodao;
}

void nhap()
{
    cin>>n;
}
void sol()
{
    a[1] = 1;
    for(int i = 2; i<= n; i++)
        a[i] = sd(a[i-1]) + 2;
        cout<<a[n];
}
int main()
{
 nhap();
 sol();
}

Admin likes this post

Về Đầu Trang Go down
meliodasssf




Tổng số bài gửi : 71
Join date : 10/05/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyTue May 17, 2022 3:53 pm

Code:

#include<bits/stdc++.h>
using namespace std;
#define forl(i,a,b) for (int i=a; i<=b; i++)
#define forr(i,a,b) for (int i=a; i>=b; i--)
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))

int n,maxx,N[100001],dem=0;
int A[82] = {1,3,5,7,9,11,13,33,35,55,57,77,79,99,101,103,303,305,505,507,707,709,909,911,121,123,323,325,525,527,727,729,929,931,141,143,343,345,545,547,747,749,949,951,161,163,363,365,565,567,767,769,969,971,181,183,383,385,585,587,787,789,989,991,201,104,403,306,605,508,807,710,19,93,41,16,63,38,85,60,8,10};

void nhap()
{
    while (cin >> n)
    {
        if (n==1) cout << 1 << "\n";
        else if (n<=82) cout << A[n-1] << "\n";
        else cout << A[n%82] << "\n";
    }
}


int main ()
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    freopen ("xdd.inp","r",stdin);
    freopen ("xdd.out","w",stdout);
    nhap();
    return 0;
}

Admin likes this post

Về Đầu Trang Go down
hahung413




Tổng số bài gửi : 16
Join date : 10/05/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyTue May 17, 2022 4:03 pm

Code:
#include <bits/stdc++.h>
using namespace std;
int n,a[100001];

int b[85] = {1, 3, 5, 7, 9, 11, 13, 33, 35, 55, 57, 77, 79, 99, 101, 103, 303, 305, 505, 507, 707, 709, 909, 911, 121, 123, 323, 325, 525, 527, 727, 729, 929, 931, 141, 143, 343, 345, 545, 547, 747, 749, 949, 951, 161, 163, 363, 365, 565, 567, 767, 769, 969, 971, 181, 183, 383, 385, 585, 587, 787, 789, 989, 991, 201, 104, 403, 306, 605, 508, 807, 710, 19, 93, 41, 16, 63, 38, 85, 60, 8, 10};
void nhap()
{
    cin>>n;
}
void sol()
{
    if(n % 83 == 0) cout<<b[1];
    else
    cout<<b[(n % 83) - 1];
}
int main()
{
    freopen("s.inp","r",stdin);
    freopen("s.out","w",stdout);
 nhap();
 sol();
}

Admin likes this post

Về Đầu Trang Go down
Admin
Admin



Tổng số bài gửi : 152
Join date : 23/04/2022
Age : 41
Đến từ : THPT Chuyên Nguyễn Tất Thành - Yên Bái

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyTue May 17, 2022 4:09 pm

Subtask1:
Khởi tạo a[1] = 1;
for (i,2,n) a[i] = sodao(a[i-1]) + 2; //viết thêm hàm sodao(int u) trả vể số đảo của u.
Độ phức tạp của thuật toán: O(N)
Subtask2:
Chỉnh sửa code cách 1 để thực hiện tính a[i] và đưa a[i] ra.
Chạy thử chương trình với N = 10; N = 100; N = 300,...
Kiểm tra tính chất của dãy a[i].
Nhận xét: Dãy số bị lặp đi lặp lại ở phần sau. Độ dài của đoạn lặp lại được gọi là chu kỳ lặp.
Với mỗi N, ta chỉ cần xác định vị trí của a[i] trong đoạn chu kì này.
Độ phức tạp của thuật toán: O(1).
Về Đầu Trang Go down
https://ielp.forumvi.com
hientm495




Tổng số bài gửi : 27
Join date : 10/05/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyMon Jun 13, 2022 9:57 am

Code:
#include <bits/stdc++.h>
#define maxn 100000
using namespace std;
int dp[100];
long long n;
int sdn(int u){
    int daonguoc = 0;
    while(u > 0){
        daonguoc=(daonguoc+u%10)*10;
        u/=10;
    }
    return daonguoc;
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    freopen("SEQUENCE.INP","r",stdin);
    freopen("SEQUENCE.OUT","w",stdout);
    while (cin>>n){
    dp[1]=1;
    for(int i=2;i<=82;i++)
        dp[i]=dp[i-1]+2;
    if (n<=82){
    for(int i=8 ;i <= n; i++)
        dp[i] = sdn(dp[i-1])/10+2;
    }else{
    for(int i=8 ;i <= 82; i++){
        dp[i] = sdn(dp[i-1])/10+2;
        }
    }
    cout<<dp[n-(n/81)*81];
    }
}
Về Đầu Trang Go down
dogsgaming123




Tổng số bài gửi : 34
Join date : 13/06/2022

KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 EmptyMon Jun 13, 2022 10:01 am

Code:
#include <bits/stdc++.h>
#define maxn 100000
using namespace std;
int dp[100];
long long n;
int sdn(int u){
    int daonguoc = 0;
    while(u > 0){
        daonguoc=(daonguoc+u%10)*10;
        u/=10;
    }
    return daonguoc;
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    freopen("SEQUENCE.INP","r",stdin);
    freopen("SEQUENCE.OUT","w",stdout);
    while (cin>>n)
    {
    dp[1]=1;
    for(int i=2;i<=82;i++)
        dp[i]=dp[i-1]+2;
    if (n<=82){
    for(int i=8 ;i <= n; i++)
        dp[i] = sdn(dp[i-1])/10+2;
    }else{
    for(int i=8 ;i <= 82; i++){
        dp[i] = sdn(dp[i-1])/10+2;
        }
    }
    cout<<dp[n-(n/81)*81];
    }
}

Admin likes this post

Về Đầu Trang Go down
Sponsored content





KTLT12. Dãy số		 Empty
Bài gửiTiêu đề: Re: KTLT12. Dãy số    KTLT12. Dãy số		 Empty

Về Đầu Trang Go down
 
KTLT12. Dãy số
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Hệ sinh thái số IELP :: Thực nghiệm phần C++ :: 8-Kỹ thuật lập trình-
Chuyển đến