用Python解决了个数学问题

群里有人问
一筐鸡蛋:
1个1个拿,正好拿完。
2个2个拿,还剩1个。
3个3个拿,正好拿完。
4个4个拿,还剩1个。
5个5个拿,还差1个。
6个6个拿,还剩3个。
7个7个拿,正好拿完。
8个8个拿,还剩1个。
9个9个拿,正好拿完。
问筐里最少有多少鸡蛋?

1说明是奇数,2、4、5、8得出应该是40i+1,3、6、7、9得出应该是63j(j是奇数)。想想刚好在学Python,那就写个代码试试吧。

for i in range(3, 100):
if i%2 == 0:
    continue
#print i
j=63*i
if (j-1)%40==0:
    print i
    print 'got it'
    print j
    for m in range(1,10):
        print '=',j/m, '*',m,'+',j%m
    break

后来发现还可以缩小范围,要满足40i+1和63j,3乘7才是个位是1的,所以j只能是7,17,27这样的。
为了证实一下,把代码最后的break去掉,100以内,j还可以是47,结果2961;87,结果5481。
然后我把for的range换成到200,发现j可以是7,47,87,127,167。然后发现,是因为算出7以后,两个式子合并为63*7+63*40*k。
我在想对于一个奥数题,我是不是太认真了……(; ̄ェ ̄)

Python 是一种功能强大的编程语言,可以用来解决各种各样的数学问题。下面是一些使用 Python 可以解决数学问题: 1. 解方程:Python 可以使用符号计算库例如 SymPy 来解方程。例如,可以使用 SymPy 来解二次方程: ```python from sympy import symbols, solve x = symbols('x') equation = x**2 - 4*x + 3 solutions = solve(equation) print(solutions) ``` 输出结果为:`[1, 3]`,这说明方程的解为 x=1 或 x=3。 2. 统计分析:Python 的科学计算库例如 NumPy 和 Pandas 可以用来进行统计分析。例如,可以使用 Pandas 来计算某列数据的均值、中位数和标准差: ```python import pandas as pd data = pd.read_csv('data.csv') mean = data['column_name'].mean() median = data['column_name'].median() std = data['column_name'].std() print(mean, median, std) ``` 3. 优化问题Python 可以使用优化库例如 Scipy 来解决优化问题。例如,可以使用 Scipy 来找到函数的最小值: ```python from scipy.optimize import minimize_scalar def function(x): return (x-1)**2 + 2 result = minimize_scalar(function) print(result.x) ``` 输出结果为:`1.0`,这说明函数的最小值为 1。 4. 绘图:Python 可以使用绘图库例如 Matplotlib 和 Seaborn 来绘制各种图表。例如,可以使用 Matplotlib 来绘制函数的图像: ```python import matplotlib.pyplot as plt import numpy as np x = np.linspace(-5, 5, 100) y = x**2 + 2*x + 1 plt.plot(x, y) plt.show() ``` 这段代码将绘制出函数 y=x^2+2x+1 在 x 轴范围从 -5 到 5 的图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值