早教吧作业答案频道 -->其他-->
关于数中个位数发生位置变化已知一个正整数的个位数为7,将7移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的7倍,编程找出满足上述要求的最小自然数。
题目详情
关于数中个位数发生位置变化已知一个正整数的个位数为7,将7移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的7倍,编程找出满足上述要求的最小自然数。
▼优质解答
答案和解析
嗯,你的算法是没错的,不过最小值确实很大,超出计算机的64位字节长度,所以你那个算法也是算不出来的,楼上那位的算法也很好,不过由于精度问题,也是求不出来的。 其实这道题不能用暴力算法,穷举算,正确解法,应该是递推。因为还有很多条件没用上。比如只是把7从尾移到头而已,其余都没变,即是说: abcde7 * 7 ------- 7abcde 所以我们可以知道e,从而确定d,一直下去,直至a; 因此就有下面的程序,用数组保存结果: #include"stdio.h" int main() { int visit[100]; int k=1; visit[0]=7; int a,b,c;//a表示进数,b表示下一次的被乘数,c表示积。 c=9; a=4; do { b=c; c=(b*7+a)%10; a=(b*7+a)/10; visit[k]=b; k++; }while(!(c==7&&a==0));//退出条件,积为 7,而且进数为0; for(k--;k>=0;k--) printf("%d",visit[k]);printf("\n"); return 0; } 在VC编译成功,答案是:1014492753623188405797
看了关于数中个位数发生位置变化已知...的网友还看了以下:
用叠加法求a(2k)=a(2k-2)+2k按照题意可得数列为124691216202530规律如下 2020-05-13 …
历史课上,老师要大家分成小组,排演历史剧,个人所得的分数将作为平时成绩的参考依据。小周是小组的导演 2020-05-13 …
大家能帮我解一道IQ题吗小明让小彬随便想一个数,并将此数乘5,加7,然后乘2,减4,最后将结果告诉 2020-06-06 …
弹簧截断成完全相同的两半,为什么每一半的劲度系数将变为原来的两倍 2020-06-23 …
小明让小彬随便想一个数,并将此书乘5,加7,然后乘2,再减4,最后将结果告诉他.他只要将这个结果减 2020-07-06 …
已知关于x的一元二次方程2x平方+4x+k-1=0有实数根,k为正整数,求k的知已知关于x的一元二 2020-07-18 …
将一个(0,1)之间的数,映射到(-20,20)之间.怎么计算.比如已知未知数x范围为(-20,2 2020-07-30 …
已知圆的参数方程为(为参数),以坐标原点为极点,x轴的正半轴为极轴建立极坐标系,圆的极坐标方程为. 2020-07-31 …
高一三角函数→→已知θ为第二象限角,且满足cosθ/2-sinθ/2=√1-sinθ,那么θ/2所 2020-08-03 …
已知有一个定义域为实数的函数y=f(x),将其图像绕原点旋转90度后仍然是这个函数已知有一个定义域为 2020-12-08 …