#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void wan(int m, int n) {
int sum=0;
for (int i = m; i <= n; i++) {
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum ==i) {
printf("%d ",i);
}
sum = 0;
}
}
int main() {
int m, n;
scanf("%d %d", &m, &n);
wan(m, n);
return 0;
}
上面的代码最重要的是sum=0;
就是在wan这个函数里面的,即清空弹夹,每次遍历m和n之间(包括它俩)的数,最后的操作都是清空sum的值,将之赋值为0
若该范围内没有完全数,则输出字符串No Answer
怎么做?定义变量found并初始化为0
当sum==i并输出时多加一行代码found=1;
最后使用if语句就搞定了
我愿将这个操作称之为 添加标志
Comments NOTHING