1056 组合数的和

给定 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

  题解:这道题看上去很想使用暴力,然后一看数据量N(1 < N < 10),果断暴力,省时又好做。  但是写博客的时候,又会想到,假如数据量大一些,该怎么办?稍加思索,便可以很轻易得到第二种解法:直接求出各个数的和,将这个数×n-1×11,这个的意义是,每一个数都会与其他任意一个数组合在一起,充当十位或个位,那么和便是×11的结果,n-1是每一个数与其他n-1个数有组合的情况。

暴力代码如下:
 1 #include<iostream>
 2
 3 using namespace std;
 4
 5 int main()
 6 {
 7     int n,ac = 0;
 8     cin>>n;
 9     int a[10];
10     for( int i = 0; i < n; i++)    cin>>a[i];
11     for(int i = 0; i < n; i++)
12     {
13         for( int j = 0; j < n; j++)
14         {
15             if( i == j )    continue;
16             ac = a[i]*10+a[j]+ac;
17         }
18      }
19      cout<<ac;
20     return 0;
21 }

第二种方法代码如下:
 1 #include<iostream>
 2
 3 using namespace std;
 4
 5 int main(){
 6     int n, sum = 0, m;
 7     scanf("%d",&n);
 8     for( int i = 0; i < n; i++){
 9         scanf("%d",&m);
10         sum += m;
11     }
12     printf("%d",sum*11*(n-1));
13 } 

转载于:https://www.cnblogs.com/yxp400/p/9462342.html

PAT Basic 1056相关推荐

  1. PAT (Basic Level) Practice (中文)答案合集

    准备复试专用,目标刷完全部中文题! 1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ...

  2. 【题解】PAT (Basic Level) Practice (中文)

    互联网行业的小白,写博客的目的是为了记录自己的学习过程.对自己学习中所犯的错误做一个总结.由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教! PAT Basic Level P ...

  3. PAT乙级真题全集-PAT (Basic Level) Practise (中文)

    1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...

  4. (Python) PAT(Basic Level) Practice 刷题笔记(34-66)

    我的代码仅能解题,效率不高也不够简洁,欢迎师傅们提出建议,能让我加以改进. Practice 1036 跟奥巴马一起编程 (15 分) 1037 在霍格沃茨找零钱 (20 分) 1038 统计同成绩学 ...

  5. PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)

    PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)   http://www.patest.cn/contests/pat-b-practise/1025 ...

  6. PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)

    PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)  http://www.patest.cn/contests/pat-b-practise/1034 ...

  7. PAT basic level 答案+解题思路+难点 (个人刷题记录)

    PAT basic level 使用语言:C++ 仅记录一下自己刷题过程的心得体会 永远保持更新(期待更好的解法) 可能有些题没有(那就是我还没做出来,以后会更的!) 欢迎大家与我讨论交流√ 题目序列 ...

  8. 可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决)

    可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决) c1, c2 = map(int,input().split( ...

  9. 1001 害死人不偿命的(3n+1)猜想 (15分) PAT (Basic Level) Practice (中文)C语言版

    PAT (Basic Level) Practice (中文) 1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一 ...

  10. 卡拉兹(Callatz)猜想,PAT(Basic Level) Practise NO.1001

    PAT(Basic Level) Practise NO.1001 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半. 这样 ...

最新文章

  1. C++ 优先级队列 priority_queue
  2. windows mobile 5.0 PocketPC模拟器上网的设置 【正确】
  3. business man
  4. MySQL的安装及使用教程
  5. 算法竞赛入门 第2版 习题3-3 UVa1225
  6. electron入门笔记(三)- 引入bootstrap
  7. oracle报错ORA-01843: not a valid month
  8. 蚂蚁课堂视频笔记思维导图-4期 七、Docker
  9. C语言找n以上最小质数,[原创]求质数(C语言描述)
  10. Unity Shader 法线贴图原理解析
  11. 读左飞老师的《大学背景到底对你影响有多大》后感
  12. Travelling Salesman Problem(旅行商问题)
  13. 高分毕业论文答辩自述稿(附注意事项及模板)
  14. 摄像头拍照及解析QR二维码
  15. 点到超平面的距离简单证明
  16. 2017软件设计师考试(英语部分)
  17. 逆向教程2 某信营业厅
  18. 计算机显示磁盘0是什么意思,win10磁盘百分百,win10磁盘0是什么意思
  19. CISCO内网客户端软件anyconnect-win安装下载
  20. VM log是什么?EPL又是什么?

热门文章

  1. android反编译原理,保护Android resources文件不被反编译原理分析
  2. mariadb修改默认字符集
  3. WPF特效-实现3D足球效果
  4. C++入门经典-例3.9-使用嵌套表达式判断一个数是否是3和5的整数倍
  5. 游戏制作大致流程粗谈之五
  6. Kia#39;s Calculation(贪心)
  7. sql server 日期时间操作
  8. WinForm自适应的相关代码
  9. react 刨坑之路之使用create-react-app脚手架
  10. 【转载】Python tips: 什么是*args和**kwargs?