当前位置:首页 » 编程语言 » c语言简单编程之完数问题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言简单编程之完数问题

发布时间: 2022-04-11 22:04:29

c语言中关于完数问题

第一个空: return 1
第二个空: fun(x)

前几天回答的时候,看到上楼的同志没有第二个,我也就没没注意到第二个问题,希望没耽误你的事~~~

Ⅱ c语言编程题 :判断一个数是不是完数

C语言程序如下:

#include "stdio.h"

int main()

{

int n,i,sum=0;//定义一个存放因子和的变量,以及需要判断的数n,和循环条件用到的i

printf("请输入需要判断的数:");

scanf("%d",&n);//存放需要判断的数n

for(i=1;i<n;i++)//循环条件找出因子并累加

{

if(n%i==0)

sum+=i;

}

if(n==sum)

printf("%d 是完数 ",n);

else

printf("%d 不是完数 ",n);

return 0;

}

(2)c语言简单编程之完数问题扩展阅读:

程序思路

假设一个数为n,我们可以用循环条件,让n分别和1,2,3,4,5……n-1进行判断是否能被整除,我们可以通过取余(%)的方法来进行判断。如果判断出来取余结果为0,那么就把这些因子全部加起来,得到因子的和。

接下来,将因子的和与n进行比较,如果相等,那么就是完数,反之不是完数。

判断一个完数,就是运用基本输入函数(scanf),将要判断的数据输入进来,之后运用循环条件来判断。

Ⅲ c语言程序设计 完全数问题

#include<stdio.h>
main()
{
int i,j,a,n;
scanf("%d",&n);
for(i=6;i<=n;i++)
{
a=0;//a=0放在这儿才行;
for(j=1;j<=i/2;j++)//是j<=i/2;
if(i%j==0)
a=a+j;
if(a==i)
printf("%d\n",i);
}
}

Ⅳ C语言完全数问题。

#include "math.h"
#include "stdio.h"
#include "conio.h"
main()
{
long int i,x,y,z;
for (i=1;i<100000;i++)
{
x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("\n%ld\n",i);
}
getch();
}

Ⅳ c语言完全数问题

int main ()
{
int m,n,a,i,e,f;
scanf("%d %d",&m,&n);
int count=0;//统计m n之间一共多少个符合要求
for(i=m;i<=n;i++)
{
e=sqrt(i+100);//一个数加100
f=sqrt(i+268);//一个数加268
if ( (sqrt(i+100)==e)&& (sqrt(i+268)==f) )
{
count+=1;//计数
printf("%d ",i);//打印
}
}
if( count==0)
{
printf ("no");//在m n之间全部检测结束,如果count依然等于0,才能打印no
}

return 0;
}
请采纳,谢谢。

Ⅵ C语言编程,完数问题!

Private Function isws(m As Integer, splus As String) As Boolean
Dim i%, s%
For i = 1 To m / 2
If m Mod i = 0 Then
s = s + i
End If
Next i
If s = m Then '如果是完数,则重新循环,将各因子找出来
splus = m & "=1" '因为1是所有数的因子,所以先找出来,接下来的循环可以从2开始
For i = 2 To m / 2
If m Mod i = 0 Then
splus = splus & "+" & i
End If
Next i
isws = True
Else
isws = False
End If
End Function

Private Sub Form_Click()
Dim i%, sp$
Print "1000以内的完数为:"
For i = 1 To 1000
If isws(i, sp) Then Print sp 'sp是按地址传递的,所以得到的值是函数isws中最后生成的splus值
Next i
End Sub

绝对正确,给分哦

Ⅶ C语言如何编写完数程序

#include<stdio.h>
void main()
{
int i,t(0),m;
printf("请输入一个数:");
scnaf("%d",&m);
for(i=1;i<m;i++)
{
if(m%i==0)
t=t+i;
}
if (t==m)
printf("该数是完数");
else
printf("该数不是完数");
}

Ⅷ C语言程序设计 求完数

#include<stdio.h>
#include<math.h>
intw(intx)
{
inti,sum=1;
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0)
{
sum+=i+x/i;
}
}
if(sum==x&&x!=1)
{
return1;
}
else
{
return0;
}
}
intmain()
{
inti,n,m,a[10],j;
scanf("%d%d",&n,&m);
for(i=n,j=0;i<=m;i++)
{
if(w(i))
{
a[j++]=i;
}
}
if(j==0)
{
printf("NIL ");
}
else
{
for(i=0;i<j;i++)
{
if(i<j-1)
{
printf("%d",a[i]);
}
else
{
printf("%d",a[i]);
}
}
}
return0;
}

Ⅸ c语言完数问题 请写一个程序,给出指定整数范围[a,b]内的所有完数,0 < a < b < 10000。一个数如果恰好

#include"stdio.h"

intmain(){

inta,b;
intsum=0;

scanf("%d%d",&a,&b);

for(intnum=a;num<=b;num++){
sum=num;

for(inti=1;i<num/2+1;i++){//处理每个数
if(num%i==0){//能被i整除
sum-=i;//减去一个因子
}
}
if(sum==0){
printf("%d ",num);//输出完数
}
}

return0;
}

Ⅹ C语言程序问题:求完数

修改了一下,能运行,没有改代码,就把括号改了一下

结果如下

#include<stdio.h>

intmain()

{

longintx,y,a,b,c;

for(x=1;x<=1000;x++)

{

ints[100];

a=1;

for(y=1;y<=x/2;y++)

{

if(x%y==0)

{

s[a]=y;

a++;

}

}

c=0;

for(b=1;b<=a;b++)

{

c=c+s[b];

if(x==c)

{

printf("%ditsfactorsare",x);

for(c=1;c<=b;c++)

printf("%d",s[c]);

printf(" ");

}

}

}

}