机试准备第三天
初试过线了兄弟们,机试正式提上日程,寒假太摆了,主要是没料到过线。题单是牛客机试。
第一题是对称平方数,一道简单的模拟题,没啥难度。
#include <stdio.h>
using namespace std;
int Reverse(int i) {
int remain;
int reverse = 0;
while (i != 0) {
remain = i % 10;
reverse = reverse * 10 + remain;
i = i / 10;
}
return reverse;
}
int main() {
for (int i = 0; i < 256; i++) {
int num = i * i;
int reverse = Reverse(num);
if (num == reverse) {
printf("%d\n", i);
}
}
return 0;
}
第二题是与7无关数的平方和,使用一个判断函数一个一个查就行。
#include <stdio.h>
using namespace std;
int Isvaild(int n) {
if (n % 7 == 0) return 0;
int shiwei = n / 10;
int gewei = n % 10;
if (shiwei == 7 || gewei == 7)
return 0;
return n;
}
int main() {
int num;
scanf("%d", &num);
int sum = 0;
for (int i = 0; i <= num; i++) {
int result = Isvaild(i);
sum = sum + result * result;
}
printf("%d", sum);
return 0;
}
第三题是约数的个数,主要卡在输入输出与约数判断上。
#include <stdio.h>
using namespace std;
int main(){
int n;
int a;
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%d", &a);
int count = 0;
for(int j = 1;j * j <= a;j++){
if(j * j == a) count++;
else if(a % j == 0) count+=2;
}
printf("%d\n", count);
}
return 0;
}
今天就这样,明天继续。