简单数列
来源:互联网 发布:68淘宝小号网 编辑:程序博客网 时间:2024/04/28 15:33
1
11
21
1211
111221
找出上面数列的规律,设计一个程序能输出这个数列的前N项(N=20)
解答:
数列规律:
第一行:1,没什么好说的
第二行:11,"1"个"1"
第三行:21,"2"个"1"
第四行:1211,"1"个"2"和"1"个"1"
第五行:111221,"1"个"1"、"1"个"2"和"2"个"1"
明白了吧,很简单
所以,第六行就是312211,"3"个"1"、"2"个"2"和"1"个"1"
可以证明,这个数列中不可能出现"4","3"不能连续出现等等性质
#include<iostream>
using namespace std;
int main()
...{
const int max_j(1000);
const int max_i(20) ;
int arr[max_i][max_j],n(-1),i;
while (n<=0)...{
cout <<"Please input an integer(<=20):";
cin >>n;
}
for ( i=0;i !=max_i;++i)
for (int j=0;j !=max_j;++j)
arr[i][j]=0;
arr[0][0]=1;
cout <<arr[0][0]<<endl;
for ( i=1;i !=n;++i)
...{
for (int j(0),time(1),k(0);arr[i-1][j] !=0;++j)
if (arr[i-1][j]==arr[i-1][j+1])
++time;
else
...{
cout <<time<<arr[i-1][j];
arr[i][k++]=time;
arr[i][k++]=arr[i-1][j];
time=1;
}
cout <<endl;
}
system("pause");
return 0;
}
using namespace std;
int main()
...{
const int max_j(1000);
const int max_i(20) ;
int arr[max_i][max_j],n(-1),i;
while (n<=0)...{
cout <<"Please input an integer(<=20):";
cin >>n;
}
for ( i=0;i !=max_i;++i)
for (int j=0;j !=max_j;++j)
arr[i][j]=0;
arr[0][0]=1;
cout <<arr[0][0]<<endl;
for ( i=1;i !=n;++i)
...{
for (int j(0),time(1),k(0);arr[i-1][j] !=0;++j)
if (arr[i-1][j]==arr[i-1][j+1])
++time;
else
...{
cout <<time<<arr[i-1][j];
arr[i][k++]=time;
arr[i][k++]=arr[i-1][j];
time=1;
}
cout <<endl;
}
system("pause");
return 0;
}
- 简单数列
- 简单的数列排序
- 斐波拉契数列简单推倒
- 1090 简单整数数列求和
- 1098 简单分数数列求和
- 一个简单的数列求和
- Fibonacci数列简单动态规划
- CJOJ 2398 简单的数列
- Fibonacci数列(简单练手)
- POJ 2590 Steps(简单数列递推)
- Fibonacci数列的递归简单实现
- Project 9:两种简单数列排序
- 简单算法之费式数列
- 简单斐波那契数列
- 简单斐波那契数列
- Python 简单斐波那契数列
- 第五周-raptor 简单数列求和
- Object-c处理简单数列求值问题
- 高精计算
- NETSTAT.exe简介
- insertintotablename与Select*intotablename比较
- 自创]JCreator安装学习使用方法
- PL/SQLDeveloper6.0.4.906特别版
- 简单数列
- 统计不固定栏目的工资年报的存储过程
- 网络驱动应用开发 --续四
- Python操作手册
- 增强Eclipse、MyEclipse的代码自动提示功能
- Winpcap(一)
- 我的第一次作业:题目原文
- 实现数据分类汇总的SQL语句
- JAR包文件说明文档