2条回答 默认 最新
- 小小的人儿居然已存在 2020-07-30 17:05关注
最少一次循环就可以,时间复杂度N
public static void main(String[] args) { int n = 52; for(int i=10000;i<=999999;i++){ //先判断是不是对称数 if(i<100000){ //5位数 54321 if(!((i/10000 == i%10) && ((i/1000)%10 == (i%100)/10))){ continue; } } //6位数 654321 else{ if(!((i/100000 == i%10) && (i/10000)%10 == (i%100)/10 && (i/1000)%10 == (i%1000)/100)){ continue; } } //第六位 int sum = i/100000; int temp = i%100000; //第五位 sum += temp/10000; temp = temp%10000; //第4位 sum += temp/1000; temp = temp%1000; //第3位 sum += temp/100; temp = temp%100; //第2位 sum += temp/10; temp = temp%10; //第1位 sum += temp; if(sum == n){ System.out.println(i); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM