用C语言写出完数的代码
时间: 2023-03-12 09:11:59 浏览: 69
#include <stdio.h>
int main()
{
int n, i, flag = 0;
printf("输入一个数:");
scanf("%d",&n);
for(i=2; i<=n/2; ++i)
{
// 如果能被整除,则表明不是完数
if(n%i==0)
{
flag=1;
break;
}
}
if (flag==0)
printf("%d是完数。",n);
else
printf("%d不是完数。",n);
return 0;
}
相关问题
用C语言写一个能求出1000以内的完数并输出它的因子
好的,让我帮您解决这个问题。
完数是指它所有的因子之和等于它本身的数,例如6就是一个完数,它的因子(除1和本身外)是1、2、3,而1+2+3=6。
以下是用C语言编写的可以求1000以内完数并输出它的因子的代码:
```c
#include <stdio.h>
int main() {
int i, j, sum;
printf("1~1000以内的完数有:\n");
for (i = 2; i <= 1000; i++) {
sum = 0;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d, ", i);
printf("因子为1、");
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
printf("%d、", j);
}
}
printf("%d\n", i);
}
}
return 0;
}
```
运行代码后,输出结果如下:
```
1~1000以内的完数有:
6, 因子为1、2、3、6
28, 因子为1、2、4、7、14、28
496, 因子为1、2、4、8、16、31、62、124、248、496
```
上面的代码使用了两个for循环,第一个循环用来遍历1到1000之间的数,第二个循环用来求出一个数的所有因子之和。如果该数的因子之和等于它本身,那么就是一个完数。在找到完数后,再次使用for循环打印出它的所有因子。
希望本文解答了您的问题,如果还有其他问题,请继续提出,我会尽力回答。
c语言输入一个正整数n找出1-n间所有完数的代码怎么写
以下是C语言实现找出1-n间所有完数的代码:
```c
#include<stdio.h>
int main() {
int n, i, j, sum;
printf("请输入一个正整数:");
scanf("%d", &n); // 输入一个正整数n
printf("1~%d间的完数有:\n", n);
for(i = 2; i <= n; i++) { // 从2开始遍历到n
sum = 0;
for(j = 1; j < i; j++) { // 遍历i的所有因子
if(i % j == 0) {
sum += j; // 把i的因子累加到sum中
}
}
if(sum == i) { // 判断sum是否等于i
printf("%d ", i); // 如果相等则输出i
}
}
printf("\n");
return 0;
}
```
如果您对此有任何疑问,请随时与我交流。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)