zoukankan      html  css  js  c++  java
  • 下标中的加1减1问题

    在平时写程序中,那些下标加1减1问题我总是纠结很久,现在总结一下

    (1)对称问题

    下标从0开始,是n-1-i

    #include<cstdio>
    #define REP(i, a, b) for(int i = (a); i < (b); i++) 
    #define _for(i, a, b) for(int i = (a); i <= (b); i++) 
    using namespace std;
    
    int main()
    {
    	int n, a[10];
    	scanf("%d", &n);
    	REP(i, 0, n) scanf("%d", &a[i]);
    	REP(i, 0, n) printf("%d
    ", a[n-1-i]);
    	puts("");
    	return 0;
    }

    下标从1开始,是n-i+1

    #include<cstdio>
    #define REP(i, a, b) for(int i = (a); i < (b); i++) 
    #define _for(i, a, b) for(int i = (a); i <= (b); i++) 
    using namespace std;
    
    int main()
    {
    	int n, a[10];
    	scanf("%d", &n);
    	_for(i, 1, n) scanf("%d", &a[i]);
    	_for(i, 1, n) printf("%d
    ", a[n-i+1]);
    	puts("");
    	return 0;
    }

    (2)距离问题

    下标为x到下标为y的距离为多少(x <= y)

    (1)如果距离不包含x和y, 距离为y - x - 1

    (1)如果距离包含x或包含y, 距离为y - x

    (1)如果距离x和y都包含, 距离为y - x - +1

  • 相关阅读:
    第三周
    第二周
    第一周
    jenkins实用
    codis 部署和测试
    openssl心脏出血漏洞修复
    shell自动发布脚本
    codis部署安装及性能测试
    redis 数据的恢复测试
    对reids 服务器性能测试
  • 原文地址:https://www.cnblogs.com/sugewud/p/9819328.html
Copyright © 2011-2022 走看看