python简单编程题20题,简单的FREEPASCAI编程题急

1,简单的FREEPASCAI编程题急vara,b,c:integer;beginc:=0;fori:=1 to 100doif i div 2 :=0 thenc:=c+ielse c:=c;write(c);end.java的可以吗?var i,j:integer;begini:=2;j:=0;while (i<=100) do begin j:=j+i;i:=i+2; end;writeln(j);end.【python简单编程题20题,简单的FREEPASCAI编程题急】
2,一道简单的python编程题按照题目要求编写的哥德巴赫猜想的Python程序如下def IsPrime(v): if v>=2:for i in range(2,v//2+1):if v%i==0:return Falseelse:return True else:return Falsen=int(input("输入一个正偶数:"))if n>2 and n%2==0: for i in range(1,n//2+1):if IsPrime(i)==True and IsPrime(n-i)==True:print("%d=%d+%d" %(n,i,n-i))else: print("输入数据出错!")源代码(注意源代码的缩进)
3 , 一个Python编程的简单问题改成这样,就可以了 应该from math import sqrtdef sim_distance(prefs,personal1,personal2): si= for item in prefs[personal1]: if item in prefs[personal2]: si[item]=1 if len(si)==0: return 0 //这一句有问题?。?sum_of_squares=sum([pow(prefs[personal1][item]-prefs[personal2][item],2) for item in prefs[personal1] if item in prefs[personal2]]) return 1/(1+sqrt(sum_of_squares))reload未定义说明要么这个变量你木有声明,要么这个模块你木有导入
4 , 简单python代码问题sqrt=math.sqrtfor i in range(10000): i1=int(sqrt(i+100)) if i1**2==(i+100): i2=int(sqrt(i+268)) if i2**2==(i+268): print(i, i1, i2) 另外一位用round的才是更合理的 。。。。你的代码确实错了几处 。sqrt()是math中的函数,使用时应该为math.sqrt()math.sqrt()的计算结果为浮点数,肯定不是int型的 。你的思想是把完全平方数开方,这样应该得到一个小数部分为0的数 。但小数部分为0,不一定是int型,int型并不是整数的意思 。即1.0不是int型 。此外 , 浮点数是有计算精度的 , 你做开方运算,有时候即便这个数明明就是个完全平方数,但计算机也很难得到一个恰好是小数部分为0的结果,而是诸如9.9999999999953的结果 。所以,你的这种方法有一定局限性 。基于你的思路 , 不妨做一下修正 。首先,按你的思路计算开平方,这样原则上应该得到一个小数部分为0或者至少也是极其接近于小数部分为0的数 。此时,对这个数四舍五入取整 , 然后再求其平方 , 看它是不是等于你的完全平方数即可 。程序如下:In [37]: import mathIn [38]: for i in range(10000): ....: if round(math.sqrt(i+100))**2 == (i+100): ....: if round(math.sqrt(i+268))**2 == (i+268): ....: print i ....: 212611581这个数能算出来的么?我咋没算出来?。?