作业帮 > 综合 > 作业

著名数学家诺伯特·维纳关于年龄的问题?如何用C++解决?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 09:28:52
著名数学家诺伯特·维纳关于年龄的问题?如何用C++解决?
著名数学家诺伯特·维纳在博士学位的授予仪式上,执行主席看到一脸稚气的维纳,颇为惊讶,于是就当面询问他的年龄.他的回答十分巧妙:“我今年岁数的立方是个四位数,岁数的四次方是个六位数,这两个数,刚好把十个数字0、1、2、3、4、5、6、7、8、9全都用上了,不重不漏.这意味着全体数字都向我俯首称臣,预祝我将来在数学领域里一定能干出一番惊天动地的大事业
解题思路是:21的立方是四位数,而22的立方已经是五位数了,所以维纳的年龄最多是21岁;同样道理,18的四次方是六位数,而17的四次方则是五位数了,所以维纳的年龄至少是18岁.这样,维纳的年龄只可能是18、19、20、21这四个数中的一个
难点是:四位数与六位数刚好把十个数字0、1、2、3、4、5、6、7、8、9全都用上了,不重不漏
#include
void main()
{
int i,j,k,a[6],b[4],t;
long n,m;
for(i=1;i
很简单,你把四位数和6位数取每位上的值(取余法)组成一个数组,比如char [10],对这个数组进行升序排序,得到一个字符串数组,比较这个字符串和0,1,2,3…组成的字符串,相同则表示获得了解.