丟番圖的一生1/6是童年,青少年時代占了他一生的1/12,隨后1/7他說過着獨身的生活,結婚后5年他生了一個兒子,他感到很幸福,可是這孩子的生命只有他父親的一半,兒子去世后,丟番圖就在深深痛苦中活了4年,結束了生命,請問丟番圖活了多少歲?丟番圖的一生1/6是童年,青少年時代占了他一生的1/12,隨后1/7他說過着獨身的生活,結婚后5年他生了一個兒子,他感到很幸福,可是這孩子的生命只有他父親的一半,兒子去世后,丟番圖就在深深痛苦中活了4年,結束了生命,請問丟番圖活了多少歲?
C++版本
1 #include<iostream> 2 3 using namespace std; 4 5 int get_age() { 6 for (float i = 20; 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 }
Python版本
1 # -*- coding:utf-8 -*- 2 3 def get_age(): 4 for age in range(20,120): 5 if(age/6.0+age/12.0+age/7.0+5.0+age/2.0+4.0==age): 6 return age 7 return -1 8 9 if __name__=="__main__": 10 print(get_age())
方法:列出數學等式,然后枚舉即可,注意用浮點數。