zoukankan      html  css  js  c++  java
  • 贪心算法——数列操作得到最大的值

    #include <stdio.h>
    void main()
    {
        int k,i,j,n; long h,x,y,z,a[200];
        printf("  请输入数列项数n:");
        scanf("%d",&n);
        for(k=1;k<=n;k++)                    //  逐个输入数列中的各个整数 
        {
            printf("  请输入数列的第%d项: ",k);
            scanf("%ld",&a[k]);
        }
        for(i=1;i<=2;i++)                  
            for(j=i+1;j<=n;j++)
                if(a[i]>a[j])                     //  求出n项的最小2项 
                { h=a[i];a[i]=a[j];a[j]=h;}
            printf("  原始数据为:");
            for(j=1;j<=n;j++)                   //  原始数据最小2项排前 
                printf("%ld ",a[j]);
            for(k=1;k<=n-1;k++)                 //  共操作n-1次 
            {
                x=a[k];
                y=a[k+1];
                a[k+1]=x*y+1;     //  实施一次操作 
                z=a[k+1];
                printf("
      第%d次操作后为:",k);  //  输出操作结果 
                for(i=k+1;i<=k+2;i++)              
                    for(j=i+1;j<=n;j++)               //  操作后最小2项排前
                        if(a[i]>a[j])
                        {h=a[i];a[i]=a[j];a[j]=h;}
                    for(j=k+1;j<=n;j++)
                    { 
                        printf("%ld ",a[j]);
                        if(a[j]==z)                   // 注明操作数 
                            printf("(%ld*%ld+1)",x,y);
                    }
            }
            printf("
      该数列操作所得最大值为:%ld 
    ",a[n]);
     }

     

  • 相关阅读:
    SQL exists( select 1 from
    svn不知道这样的主机
    SVN 操作指南
    SVN导出/导入、SVN备份/还原 【小白版】
    Asp.net窄屏页面 手机端新闻列表
    装饰者模式
    适配器模式
    原型模式
    建造者模式
    抽象工厂方法
  • 原文地址:https://www.cnblogs.com/liao-pxsoftware15/p/8169368.html
Copyright © 2011-2022 走看看