2025年哈尔滨工业大学计算机考研复试机试真题
2025年哈尔滨工业大学计算机考研复试上机真题
历年哈尔滨工业大学计算机考研复试上机真题
历年哈尔滨工业大学计算机考研复试机试真题
更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream
N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。
百鸡问题
题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb
用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。
输入输出格式
输入描述:
测试数据有多组,输入n。
输出描述:
对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。
输入输出样例
输入样例#:
40
输出样例#:
x=0,y=0,z=100 x=0,y=1,z=99 x=0,y=2,z=98 x=1,y=0,z=99
代码一
- #include <bits/stdc++.h>
- using namespace std;
- int main(){
- int n;
- while(cin>>n) {
- double x=1.0/3;
- for(int i=0;i<=100;i++){
- for(int j=0;j<=100;j++){
- for(int k=0;k<=100;k++){
- if(i+j+k==100&&(n-5*i-3*j-x*k>=0)){
- printf("x=%d,y=%d,z=%d\n",i,j,k);
- }
- }
- }
- }
- }
- return 0;
- }
代码二
- #include <iostream>
- using namespace std;
- int main() {
- int n;
- while (cin >> n) {
- for (int x = 0; x <= 100; x++) {
- for (int y = 0; y <= 100 - x; y++) {
- int z = 100 - x - y;
- // 避免浮点数运算
- if (15 * x + 9 * y + z <= 3 * n) {
- printf("x=%d,y=%d,z=%d\n", x, y, z);
- }
- }
- }
- }
- return 0;
- }
代码三
- #include "bits/stdc++.h"
- using namespace std;
- int main() {
- const float sum = 100;
- float n;
- while (cin >> n) {
- float x, y, z;
- x = 0;
- y = 0;
- for (x = 0; x * 5 <= n; x++) {
- for (y = 0; x * 5 + y * 3 <= n; y++) {
- z = 100 - x - y;
- if (x * 5 + y * 3 + z * 1 / 3 <= n) {
- cout << "x=" << int(x) << ",y=" << int(y) << ",z=" << int(z) << endl;
- }
- }
- }
- }
- }