zoukankan      html  css  js  c++  java
  • 1056 组合数的和 (15 分)

    1056 组合数的和 (15 分)

    给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。

    输入格式:

    输入在第一行中给出 N(1 < N < 10),随后一行给出 N 个不同的非 0 个位数字。数字间以空格分隔。

    输出格式:

    输出所有可能组合出来的2位数字的和。

    输入样例:

    3
    2 8 5
    

    输出样例:

    330
    思路:
      法一:为了方便进行数字的组合,我选择使用字符数组来读入各个数字,然后在两层循环中组合数字,使用stoi()函数转化为
    int型进行求和运算
      法二:考虑到每一个数字都可以做个位和十位,对于N个数字,每个数字都可以做n-1次个位和n-1次十位,所以仅需要一次遍历
    即可。
    #include <iostream>
    #include <cmath>
    #include<algorithm>
    #include<map>
    using namespace std;
    int main()
    {
        int sum=0;
        int n;
        scanf("%d",&n);
        char a[n];
        for(int i=0;i<n;i++)
        {
            scanf(" %c",&a[i]);
        }
        for(int i=0;i<n;i++)
        {
            for(int j=i+1;j<n;j++)
            {
                if(i==j)
                    continue;
                char ch[2];
                ch[0]=a[i];
                ch[1]=a[j];
                sum+=stoi(ch);
                ch[0]=a[j];
                ch[1]=a[i];
                sum+=stoi(ch);
            }
        }
        cout<<sum<<endl;
        return 0;
    }
  • 相关阅读:
    CPU和GPU实现julia
    基于SURF特征的图像与视频拼接技术的研究和实现(一)
    验证码识别--type7
    机器视觉项目基础框架
    实现gabor filter的滤波
    神经网络研究项目--以工程师的视角
    集装箱项目
    基于海康监控的图像识别设计
    反人脸识别的思路和实现
    单向信息传输系统设计实现
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/10412998.html
Copyright © 2011-2022 走看看