作为初学者。我能从第1章一直走到这里。前面遇到了很多很多难啃的题。我都一个一个咬碎吃透。但是到了这里我又回到了起点。
2023.03.08_20:16
06.24.01version,but is failnumber = 0count = 0divide = 2while count <= 100:number += 1if number % divide == 0 and number % number == 0:print(number, divide)divide += 1count += 12023.03.09_8:53这道代码的难点在于数的除法I think this code difficult point divide number.我应该怎么告诉,电脑我想要的结果呢I tall to computer I came up with the result我的想法如下(方案一)Ok! My idea is as follows:1、确定100个素回数No1.Determine the number of 100 prime palindromes1.1、利用count变量作为定义100个数No1.1、Use the count variable to define 100 numbers1.2、利用divide变量来存储除数No1.2、Use the divide variable to store divisor2、利用循环来求结果No2.Use the while or for cycle to find the result调用No1的结果,不断累加变量count和变量divide的数值求结果 The result of calling No1 is to continuously add the values of the variables count and divide2023.3.09_20:00 code is failNUMBER_COUNT = 10div_n = 2cou_n = 0while cou_n < NUMBER_COUNT:while cou_n <= cou_n / div_n:if cou_n % div_n == 0:print(cou_n, div_n)# div_n += 1cou_n += 12023.3.10_5:52先尝试写备注Try writing notes first天无捷径,路在脚下There is no shortcut to heaven, the road is under foot方案2plan number tow1.求素数1.Find a prime number2.从求出的素数中,求回文数2.From the obtained prime number, find the palindrome number下面的代码还是不对following down code is faildivide_num = 2for i in range(1, 10):if i // divide_num != 1:print(i)divide_num += 12023.3.10_13:34需要重新认真的分析书中的《程序清单6-7》The program listing 6-7 in the book needs to be carefully reanalyzed 1.确认素数,条件是除数小于等于被除数除于2.1.identify prime number, if the divisor is less than or equal to the dividend divided by2divisor = 2number = 20while divisor <= number / 2:if number % divisor == 0:continuedivisor += 1print(number)print(number)
def isPrime(number):divisor = 2while divisor <= number / 2:if number % divisor == 0:return Falsedivisor += 1return True
def isPrime(number):divisor = 2while divisor <= number / 2:if number % divisor == 0:return Falsedivisor += 1return True# 此处是我自己的今天设计的。
def is_pali(number):if number >= 100:a = number // 100c = number % 100 % 10if a == c:return Trueelse:return Falseelif number <= 10:a = number // 100b = number % 100 // 10if a == b:return Trueelse:return Falseelif number <= 99:b = number % 100 // 10c = number % 100 % 10if b == c:return Trueelse:return Falsedef printPrimeNumbers(number_of_primes):number_of_primes_per_line = 10count = 0number = 2while count < number_of_primes:if isPrime(number):if is_pali(number):count += 1print(format(number, ">4d"), end=" ")if count % number_of_primes_per_line == 0:print()number += 1count += 1def main():print("The first 100 prime number are")printPrimeNumbers(1000)main()