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


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

    代码如下:

    #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("
    ");
        getchar();
        return 0;
    }

        效果如图:

  • 相关阅读:
    类成员指针
    css图片旋转
    px转化rem
    flexible.js页面布局
    SpringBoot-静态资源映射
    Springboot-日志框架
    Springboot-配置文件
    spring的xml和注解整合
    在mysql中将JSON数组转换为行数据[转]
    php 拼音
  • 原文地址:https://www.cnblogs.com/cysolo/p/3599860.html
Copyright © 2020-2023  润新知