1. 求数字数位
使用字符串。
char target[101];
int len=0, irstNum=0;
// 1. 输入为字符串
scanf("%d", target);
len = strlen(target);
firstNum = target[0]; // 取该数字的第一位
// 将数字输入到字符串
sprintf(target, "%d", 12345);
len = strlen(target);
firstNum = target[0];
2. 判断素数
1. 试除判别法
int IsPrime(int n){
if (n <= 1) return 0; // 0、1 不是素数
int bound = (int)sqrt(n)+1;
for (int i=2; i<bound; i++)
if (n%i == 0) return 0; // 能被某个数整除,不是素数
return 1;
}
int GetNextPrime(int n){
for (int i=n+1; ; i++)
if (IsPrime(i))
return i;
}
2. 素数筛法
#define MAX 1000000
int H[MAX];
void init(){
fill(H