Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Geeksforgeks上的python简单basic程序_Python - Fatal编程技术网

Geeksforgeks上的python简单basic程序

Geeksforgeks上的python简单basic程序,python,Python,有人能帮我解决这个问题吗 给定一个数字N,打印所有小于或等于N的复合数字。该数字应按升序打印 输入: 第一行包含一个整数T,表示测试用例的数量。然后,T测试用例随之出现。每个测试用例由一个整数N组成 输出: 打印从0到N的所有复合数字 限制条件: 1 ≤ T ≤ 50 4 ≤ N ≤ 10000 Example: Input: 2 10 6 Output: 4 6 8 9 10 4 6 我的解决方案如下: def comp(n): for i in range (4,n+1):

有人能帮我解决这个问题吗

给定一个数字N,打印所有小于或等于N的复合数字。该数字应按升序打印

输入: 第一行包含一个整数T,表示测试用例的数量。然后,T测试用例随之出现。每个测试用例由一个整数N组成

输出: 打印从0到N的所有复合数字

限制条件:

1 ≤ T ≤ 50
4 ≤ N ≤ 10000

Example:
Input:
2
10
6
Output:
4 6 8 9 10
4 6
我的解决方案如下:

def comp(n):
    for i in range (4,n+1):
        for j in range(2,i):
            if i % j == 0 :
                print(i)
                break

t = int(input(""))

while(t >=1 & t <= 50):
        for k in range(0,t):
            p = int(input(""))
            if(p >=4 & p <= 10000):
                comp(p)
def comp(n):
对于范围(4,n+1)内的i:
对于范围(2,i)内的j:
如果i%j==0:
印刷品(一)
打破
t=int(输入(“”)

而(t>=1&t=4&p当您提供的输入值小于所需值时,会发生此错误。您的程序所期望的输入值大于实际提供的值

如果您使用管道将数据发送到脚本的stdin,那么请确保以换行的形式发送每个输入,如下所示

   time echo -e "2\n'3 4 5 6 7'\n3" | python sample.py

使用递归的简单解决方案

def check_prime(n):
    for i in range(2,int(math.sqrt(n))+1):
        if(n%i==0):
            return 0
    return 1

def print_composite(n):
    if(n<5):
        print(n),
        return
    print_composite(n-1)
    if(check_prime(n)==0):
        print(n),
        return

这里的罪魁祸首是
while
循环,而不是
if
。因为
t
是一个常量,
while
循环永远不会结束,因此,
p=int(输入(“”)
执行的次数将超过所需的次数。因此,
eoferor
p=int(输入(“”)上

你在哪里编译这个?还有,这是Python2还是pytho3?为什么
while(t>=1&t@abhineet:it’s for multiple test cases..我正在Geeksforgeks网站上运行它..要检查你有多个测试用例,请在范围(0,t)内检查k的
。第一行,它应该只检查给定的
t
是否有效,即
如果(t>=1&t@dust0x::约束不是复杂的。约束存在,因此您可以验证给定的输入。如果输入范围超出范围,则在没有约束检查的情况下,您将具有复杂性。此解决方案无法回答OP的问题。@Abhineet那么,我给了他一个精确的解决方案……我知道这不是答案,谢谢你可以指导OP解决所有GFG问题,但请不要在SO平台上这样做。你可以询问他的个人邮件/号码,然后从那里开始。不要生气。我们都是来解决问题的,但不是填鸭式的。删除否决票的最佳方法是编辑答案,以便提供更好的解释等等OP问题的答案。你是对的,程序需要更多的输入。这并不意味着我们必须为代码提供那么多的输入。代码部分存在逻辑错误,因此,代码需要更多的输入。
>>> print_composite(10)
4 6 8 9 10
>>> print_composite(6)
4 6
>>> print_composite(16)
4 6 8 9 10 12 14 15 16