如何计算出序列的前n项数据
来源:互联网 发布:定位兔软件下载 编辑:程序博客网 时间:2024/04/29 02:42
题目:正整数序列 Q 中的每个元素都至少能被正整数 a 和 b 中的一个整除,现给定 a 和 b,如何计算出 Q 中的前几项?例如,当 a=3,b=5,N=6时,序列为3,5,6,9,10,12。
思路分析:可以和归并排序联系起来,给定两个数组 A、B,数组 A 存放:3 x 1,3 x 2,3 x 3,… 数组 B 存放 5 x 1,5 x 2,5 x 3,… 有两个指针 i、j,分别指向 A、B 的第一个元素,取 Min(A[ i ], B[ j ]),并将较小值的指针前移,然后继续比较(即归并排序中的“合并两个有序序列“)。当然,实现时没有必要申请两个数组,用两个变量即可。具体实现如下:
#include <iostream>void CreateArr(int a, int b, int len, int arr[]){ int tempA,tempB; int i = 1; int j = 1; for (int k = 0; k < len; k++) { tempA = a * i; tempB = b * j; if (tempA <= tempB) { arr[k] = tempA; i++; } else { arr[k] = tempB; j++; } }}int main(int argc, const char * argv[]) { int arr[6]; CreateArr(3, 5, 6, arr); for (int i = 0; i < 6; i++) printf("%d ", arr[i]); printf("\n"); return 0;}
0 0
- 如何计算出序列的前n项数据
- 分数序列的前n项之和
- 第八周练习 分数序列的前n项和
- 求分数序列的前n项之和
- 求序列前N项和
- 求序列前N项和(15)
- 求交错序列前N项和
- uvalive2222(等差序列前n项求和)
- 求指定序列前n项之和
- 找出>=80%的前N项数据
- 得到某个数据的前N行
- ibatis删除N天前的数据
- 如何取datatable的前N行
- Kolakoski序列--输出1,2的前n个数
- ACM 不计算出值求N^N的个位数字
- 循环-10. 求序列前N项和(15)
- 循环-10. 求序列前N项和(15)
- 5-0. 求序列前N项和(15)
- hadoop HDFS入门
- cocos2dx-详细剖析lua(如何与lua集成,如何导出lua api,如何与lua交互)
- Java实现Mybatis将数据批量插入到Oracle数据库
- 使用mysql的Concat链接数据
- 写程序的过程中产生疑惑
- 如何计算出序列的前n项数据
- Hadoop序列化
- HTML5之Ajax跨域的问题和处理
- 增强网络安全意识——如何5分钟破解校园网上网账号和密码
- The certificate used to sign "app名" has either expired
- ConcurrentHashMap源代码解读
- 表示数值的字符串
- Ubuntu 下 使用 adb logcat 显示 Android 日志
- 设计模式-装饰模式