编程作业怎么做!
答案:2 悬赏:40 手机版
解决时间 2021-03-02 04:36
- 提问者网友:酱爆肉
- 2021-03-01 06:50
编程作业怎么做!
最佳答案
- 五星知识达人网友:北城痞子
- 2021-03-01 08:21
不知道你问的是哪一题
假设是其中最清楚的那一题,如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倍性能)
总之怎么简单粗暴怎么来。
假设是其中最清楚的那一题,如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倍性能)
总之怎么简单粗暴怎么来。
全部回答
- 1楼网友:琴狂剑也妄
- 2021-03-01 09:33
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯