经典算法详解(7)丢番图的墓志铭
丢番图的一生1/6是童年,青少年时代占了他一生的1/12,随后1/7他说过着独身的生活,结婚后5年他生了一个儿子,他感到很幸福,可是这孩子的生命只有他父亲的一半,儿子去世后,丢番图就在深深痛苦中活了4年,结束了生命,请问丢番图活了多少岁?丢番图的一生1/6是童年,青少年时代占了他一生的1/12,随后1/7他说过着独身的生活,结婚后5年他生了一个儿子,他感到很幸福,可是这孩子的生命只有他父亲的一半,儿子去世后,丢番图就在深深痛苦中活了4年,结束了生命,请问丢番图活了多少岁?
1 #include<iostream> 2 3 using namespace std; 4 5 int get_age() { 6 for (float i = 9; i < 120; i++) { 7 if (i/6.0+i/12.0+i/7.0+5.0+i/2.0+4.0==i) { //注意用浮点数 8 return (int)i; 9 } 10 } 11 return -1; 12 } 13 14 int main(int argc, char *argv[]) { 15 cout << get_age(); 16 getchar(); 17 return 0; 18 }
方法:列出数学等式,然后枚举即可,注意用浮点数。