一、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
设该整数加100后为a^2,再加168为b^2,因此b^2-a^2=168,(a+b)*(b-a)=168,设a+b=i,a-b=j,i*j=168,综上,i,j为偶数,因此,i、j满足条件i+j、i-j为偶,范围为1-168:
m=0
for i in range(1,85):
if(168%i==0):
j=168/i
if(i>j) and (i+j)%2==0 and (i-j)%2==0:
x=(i-j)/2
y=x*x-100
m+=1
print(y)
print("共有",m,"个")
二、输入某年某月某日,判断这一天是这一年的第几天?
先判断该年是否为闰年,如果不是,则这一天为前面几月天数总和加当月的日期,如果为闰年且月份大于2月,则在原来的基础上加1:
x=int(input("请输入年份:"))
y=int(input("请输入月份:"))
z=int(input("请输入日期:"))
if(y>12)or(y<1)or(z<1)or(z>31):
print("Error")
sum=0
date=(31,28,31,30,31,30,31,31,30,31,30,31)
for i in range(0, y):
sum += date[i]
if (x % 400 == 0) or ((x % 4 == 0) and (x % 100 != 0)):
if(y>2):
sum+=1
sum+=z
print("这是",x,"年的第",sum,"天")