初试过线了兄弟们,机试正式提上日程,寒假太摆了,主要是没料到过线。题单是牛客机试。
第一题是对称平方数,一道简单的模拟题,没啥难度。
#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;
}
今天就这样,明天继续。