永发信息网

编程作业怎么做!

答案:2  悬赏:40  手机版
解决时间 2021-03-02 04:36
编程作业怎么做!
最佳答案
不知道你问的是哪一题

假设是其中最清楚的那一题,如555555最大的三位数

其实这题很简单,如果不考虑性能的话,直接从100开始遍历,定义两个局部变量
假设是int a与int b
弄一个循环,a从100开始,然后b从1开始

a×b如果等于55555,就记录在一个temp缉攻光纪叱慌癸苇含俩变量一面,如果遇到下一个a×b等于555555的组合,就跟temp比,如果比temp记录的数大,就用大的替换掉temp里面小的那一个。

如果a×b大于55555,立即结束本次循环,a+1,跳入下一次循环。

其实还有更简便的方法。。。不过用到一些复杂的数学公式就不说了。

如果要简单粗暴的话,直接开多线程去找,一个线程负责一个区间,比方说100-200,200-300一直到5555500到555555,找到满足a×b=555555的数,而且每次a+5,(因为555555末尾是5,其中一个乘数必定是5,所以以5作为每次循环的步长应该能提升5倍性能)

总之怎么简单粗暴怎么来。
全部回答
static void(int[]group) { int temp; int pos=0; for(int i=0;i< group.length-1;i++) { pos=i; for(intj=i+1;j
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯