首页 > 其他 > 详细

正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,如何生成Q中的前几项

时间:2014-03-14 17:54:28      阅读:214      评论:0      收藏:0      [点我收藏+]

思路分析:可以与归并排序联系起来,给定两个变量A、B,变量A轮着存放:a*1,a*2,a*3,……变量组B轮着存放:b*1,b*2,b*3,……有两个整数i、j,分别代表A、B第i、j次存放的值,每次取A、B中的较小值,并将较小值的次数加一,然后继续比较。

代码如下:

bubuko.com,布布扣
#include "stdafx.h"
#include<stdio.h>
void Generate(int a, int b, int N, int *Q)
{
    int tmpA, tmpB;
    int i = 1;
    int j = 1;
    for (int k = 0; k < N; k++)
    {
        tmpA = a*i;
        tmpB = b*j;
        if (tmpA <= tmpB)
        {
            Q[k] = tmpA;
            i++;
        }
        else
        {
            Q[k] = tmpB;
            j++;
        }
    }
}
int main()
{
    int a[6];
    int i;
    Generate(3, 5, 6, a);
    for (i = 0; i < sizeof(a) / sizeof(a[0]); i++)
        printf("%d ", a[i]);
    printf("\n");
    getchar();
    return 0;
}
bubuko.com,布布扣

    效果如图:

bubuko.com,布布扣

正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,如何生成Q中的前几项,布布扣,bubuko.com

正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,如何生成Q中的前几项

原文:http://www.cnblogs.com/cysolo/p/3599860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!