
正文
判断完数函数python,编写一个判断完数的函数,并用它求出2000以内的完数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
python编写函数,实现判断正整数n是否是完数。若是,函数返回True,否则返回Flase
#include stdio.hint fun(int n) /*函数用来判断一个数是否是完全数.是就返回1. 不是返回0*/
{
int i,sum = 0;
for(i=1;in;i++)
{
if(n % i == 0) //如果i是n的因子. 就将i累加到sum中.
sum = sum + i;
}
if(sum == n) //判断n和sum是否相等.如果相等就说明这个数是完全数.返回1.
return 1;
return 0; //否则返回0;
}int main()
{
int i,t;
/*输入一个整数,判断这个数是否是完全数*/
scanf("%d", t);
if( fun( t ) )
printf( "Yes\n" );
else
printf( "No\n" );/*输出1000以内所有完全数*/
for(i = 1; i = 1000; i++)
{
if( fun( i ) )
printf("%d\t",i);
}
printf("\n");
return 0;
}
相关问答
Q1: Python最基础的题,求大佬编个代码。。渣渣表示一脸蒙蔽
1
#!/usr/bin/env python3.6
def due(cost):
if cost = 3000:
return cost * 0.85
if cost = 2000:
return cost * 0.9
if cost = 1000:
return cost *0.95
return cost
cost = input('Please input total cost of the goods: ')
print(f'You should pay: {due(float(cost)):.2f}')
2
a, b, c = 1, 2, 3
n = 3
while True:
n += 1
a, b, c = b, c, (a+b+c)/2.0
if c 1200:
print(n)
break
3
def gys(m, n):
for i in range(min(m, n), 0, -1):
if m % i == n % i == 0:
return i
4
def is_wanshu(n):
yinzi = [i for i in range(1, n) if n % i == 0]
return n == sum(yinzi)
Q2: 编写一个函数,判断一个整数是否是完数,如果是完数,函数返回;不是完数1,函数返回0
以下代码,在VC6.0下编译测试通过
#includeiostream
using namespace std;
bool Check(int i);//是完数返回true,否则返回false
int main()
{
int n=1000;
int r=0,j,i;
//查找1000以内所有完数
for(i=1;i=n;i++)
{
if (Check(i)==true)
{
coutiendl;
}
}
return 0;
}
bool Check(int i)
{
int r=0,j;
for(j=1;ji;j++)
{
if(i%j==0)
{
r=r+j;
}
}
if(r==i)
{
return true;
}
else
{
return false;
}
}





