解题思路:在sort函数中添加优化的比较函数cmp
注意事项:数组要比十万大一点
参考代码:
#include <iostream> #include<algorithm> using namespace std; int arr[200000];//大数组定义在主函数外 bool cmp(int a,int b) { int a1=a; int b1=b; int suma=0;//存储a数位和 int sumb=0;//存储b数位和 while(a1!=0) { suma+=a1%10; a1=a1/10; } while(b1!=0) { sumb+=b1%10; b1=b1/10; } if(suma == sumb)先判断数位和 return a<b; else return suma < sumb; } int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { arr[i]=i; } sort(arr+1,arr+n+1,cmp);//调用含有比较函数的sort函数 cout<<arr[m]<<endl;//输出题目要求的目标 return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:549 |
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1850 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:580 |
简单的a+b (C语言代码)浏览:583 |
最长单词 (C语言代码)浏览:1474 |
【出圈】 (C语言代码)浏览:824 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:584 |
打水问题 (C语言代码)浏览:1148 |
计算质因子 (C++代码)浏览:1825 |
A+B for Input-Output Practice (II) (C语言代码)浏览:1043 |