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

    PAT乙级: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
    

    思路

    全排列历遍一次,加起来。注意由于是两位数,只需要找出一半的组合,就能累加得到总和。

    code

    #include<vector>
    #include<iostream>
    using namespace std;
    int main(){
    	int temp=0,ans=0,n=0;
    	vector<int> array;
    	cin>>n;
    	while(n--){
    		cin>>temp;
    		array.push_back(temp);
    	}
    	for(int i=0;i<array.size();i++){
    		for(int j=i+1;j<array.size();j++){
    			ans+=array[i]*10+array[j];
    			ans+=array[j]*10+array[i];
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
  • 相关阅读:
    python基础语法
    头文件和库文件
    #pragma的用法
    C++ signal的使用
    Glog
    Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
    /etc/ld.so.conf详解
    拿与不拿的dfs
    空白字符读取和处理
    统计频率----初始条件的设置
  • 原文地址:https://www.cnblogs.com/cell-coder/p/12563793.html
Copyright © 2011-2022 走看看