日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【模拟】数列

發布時間:2023/12/3 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【模拟】数列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數列

題目大意:

有一個序列,1,11,21,1211,111221,3122111,11,21,1211,111221,3122111,11,21,1211,111221,312211,形如上一個數有x1x_1x1?x2x_2x2?x3x_3x3?x4x_4x4?,把x連起來即為當前數

原題:

題目描述

小S今天給你出了一道找規律題,題目如下:
有如下的數列1,11,21,1211,111221,312211,……
小S問你這個數列的第N項是多少,而你一頭霧水根本找不出規律。
聰明的小R悄悄地告訴你是這樣的
1,
上一個數是一個1,寫作11
上一個數是兩個1,寫作21
上一個數是一個2,一個1,寫作1211
上一個數是一個1,一個2,兩個1,寫作111221,
…………
相信聰明的你一定可以解決這個問題。

輸入

第一行包括一個正整數N。

輸出

一行一個正整數(注意數字可能會唱過長整形,請注意用數組或者字符串存儲)

輸入樣例

6

輸出樣例

312211

說明

對于100%的數據1<-N<=30。

解題思路:

直接按題意推即可

代碼:

#include<cstdio> #include<cstring> #include<iostream> using namespace std; int n,k,l,a[2][10005]; int main() {scanf("%d",&n);a[1][0]=1;//初值a[1][1]=1;for (int i=2;i<=n;++i){memset(a[i&1],0,sizeof(a[i&1]));//清空k=0;l=a[(i+1)%2][1];for (int j=1;j<=a[(i+1)%2][0];++j)if (a[(i+1)%2][j]==l) k++;//計算連續個數else{a[i&1][++a[i&1][0]]=k;//記錄a[i&1][++a[i&1][0]]=l;l=a[(i+1)%2][j];//更新k=1;}a[i&1][++a[i&1][0]]=k;//剩下的a[i&1][++a[i&1][0]]=l;}for (int i=1;i<=a[n&1][0];++i)putchar(a[n&1][i]+48);//輸出 }

總結

以上是生活随笔為你收集整理的【模拟】数列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。