1.最大公约数
- 如果 b = 0,计算结束,a 就是最大公约数;
- 否则,计算 a 除以 b 的余数,让 a 等于 b,而 b 等于 那个余数;
- 回到第一步;
#include <cstdio>
int main(){
int a, b;
int t;
scanf("%d%d", &a, &b);
while(b != 0){
t = a % b;
a = b;
b = t;
}
printf("GCD:%d\n", a);
return 0;
}
2.水仙花数 浙大C习题4-6 水仙花数
思路:
录入该三位数之后,分别取 百位数、十位数、个位数,然后判断。
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
scanf("%d", &n);
int bai = n / 100;
int shi = n % 100 / 10;
int ge = n % 10;
if(n == bai*bai*bai + shi*shi*shi + ge*ge*ge){
printf("YES");
}else{
printf("NO");
}
return 0;
}
3.完数
考查点:质因子分解
1096 Consecutive Factors (20 分)