永发信息网

有一个五位奇数,将这个五位奇数中的所有2都换成5,

答案:4  悬赏:40  手机版
解决时间 2021-03-21 19:11
  • 提问者网友:眉目添风霜
  • 2021-03-21 04:39
所有5也都换成2,其它数保持不变,得到一个新的五位数,若新五位数的一半比原五位数大1,那么原五位数是多少?
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-03-21 05:27
解:
设:原五位数为x,新五位数为y
y=2(x+1)
首先x的万位数字显然是2,从而y的万位数字必是5
其次x的千位数字必大于5,
但百位的数字乘2后至多进1到4位,这样百位数字只能是9,
依此类推得到x的前四位数字是2,9,9,9.
x的个位数字只能是1,3,5,7,9,
经检验,x的个位数字只能是5,
故x=29995

希望我的回答对你有帮助,采纳吧O(∩_∩)O!
全部回答
  • 1楼网友:第四晚心情
  • 2021-03-21 08:24
x为五位数正奇数,而最后条件是y=2(x+1)的话,可知y是一偶数,那么x的个位必为5,y的个位必为2 由y=2(x+1)可知,y>2x,所以不变是不可能的了,推出x的万位为2,y的万位为5 所以5???2=2×(2???5+1) 其余数不变,又要乘2进1相同,就只有9了 所以不难得出x=29995,y=59992 59992=2*29995+2
  • 2楼网友:逃夭
  • 2021-03-21 07:40
//答案29995,用程序解决 #include<math.h> #include<stdio.h> #include<string.h> int replace(int n) { int bit[5]={0}; int i; for(i=0;i<5;i++) { bit[i]=n%10; n/=10; } n=0; for(i=4;i>=0;i--) { if(bit[i]==2) { bit[i]=5; } else if(bit[i]==5) { bit[i]=2; } n=n*10+bit[i]; } return n; } int main() { int i,j; for(i=10000;i<100000;i++) { j=replace(i); if(j%2==0&&j/2-1==i) { break; } } printf("%d\n",i); return 0; }
  • 3楼网友:长青诗
  • 2021-03-21 06:22
这个是奥数题,全过程写起来比较复杂,我简单列一下: 首先,原数的万位数字显然是2,新数的万位数字则只能是5, 其次,原数的千位数字必大于4,否则乘2不进位,但百位数字乘2后至多进1到千位,这样千位数字只能为9。 依次类推得到原数的前四位数字为2,9,9,9。 又个位数字只能为奇数,经检验,原数的个位数字为5。 所以,所求的原五位奇数为29995。 这是一本书上的答案和思路,希望对你有帮助。 祝你开心
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯