东方博宜oj部分答案

时间:2024-11-21 07:44:54

东方博宜oj部分答案,小编每周更新一次!(抄答案的自觉退出!)

1015:【入门】鸡兔同笼问题

题目描述

鸡兔同笼问题:一个笼子里面有鸡若干只,兔若干只。共有头50个,共有腿160条。求鸡兔各多少只?

输出

两个整数,在一行。

鸡的只数 兔的只数 中间空格隔开!

样例输入

样例输出

一行,一个整数。

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. for(int i=1;i<=80;i++){
  5. for(int j=1;j<=40;j++){
  6. if(i+j==50&&i*2+j*4==160){
  7. cout<<i<<" "<<j;
  8. }
  9. }
  10. }
  11. return 0;
  12. }

1016:【入门】买小猫小狗

题目描述

某动物饲养中心用X元专款购买小狗(每只A元)和小猫(每只B元)两种小动物。

要求专款专用,(至少猫狗各一),正好用完?请求出方案的总数。如没有请输出0.

输入

输入一行,只有三个整数.分别为X,A,B. ( 100 < X < 32768; 1 <= A, B <= 100 )

输出

输出只有一行(这意味着末尾有一个回车符号),包括1个整数。

样例输入
1700 31 21
样例输出
3
  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. int x,a,b,cnt=0;
  5. cin>>x>>a>>b;
  6. for(int i=1;i<x/a;i++){
  7. for(int j=1;j<x/b;j++){
  8. if((i*a+j*b)==x){
  9. cnt++;
  10. }
  11. }
  12. }
  13. cout<<cnt;
  14. return 0;
  15. }

1017:【入门】求零件个数

题目描述

有一堆100多个的零件,若三个三个数,剩二个;若五个五个数,剩三个;若七个七个数,剩五个。请你编一个程序计算出这堆零件至少是多少个?

输入

输出

一行,一个整数。

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. for(int i=101;i<200;i++){
  5. if(i%3==2&&i%5==3&&i%7==5){
  6. cout<<i<<endl;
  7. break;
  8. }
  9. }
  10. return 0;
  11. }

1020:【入门】算算和是多少

题目描述

输入一个三位正整数,然后与它倒过来的数相加,输出和。

如:输入167,则和为167+761=928

输入

只有一行,一个三位正整数。

输出

一个正整数

样例输入
167
样例输出
928
  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. int a;
  5. cin>>a;
  6. cout<<a+a%10*100+(a/10)%10*10+a/100;
  7. return 0;
  8. }

1021:【入门】求数II

题目描述

在1—500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数

输入

输出

若干个数

每行一个

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. for(int i=1;i<=500;i++){
  5. if(i%3==2&&i%5==3&&i%7==2){
  6. cout<<i<<" "<<endl;
  7. }
  8. }
  9. return 0;
  10. }

1022:【入门】百钱百鸡问题

题目描述

用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只?

输入

输出

每种买法占一行,由3个数组成,顺序为 公鸡数 母鸡数 小鸡数。每个数字空格隔开。

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. for(int i=1;i<=20;i++){
  5. for(int j=1;j<=33;j++){
  6. for(int k=1;k<=100;k++){
  7. if(i+j+k==100&&i*5+j*3+k/3.0==100){
  8. cout<<i<<" "<<j<<" "<<k<<endl;
  9. }
  10. }
  11. }
  12. }
  13. return 0;
  14. }

1025:【入门】兑换硬币

题目描述

用一张一元票换1分、2分和5分的硬币,每种至少一枚, 问有几种换法?

输入

输出

输出只有一行(这意味着末尾有一个回车符号),包括1个整数。

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. int sum=0;
  5. for(int i=1;i<=100;i++){
  6. for(int j=1;j<=50;j++){
  7. for(int k=1;k<=20;k++){
  8. if(i+j*2+k*5==100){
  9. sum++;
  10. }
  11. }
  12. }
  13. }
  14. cout<<sum;
  15. return 0;
  16. }

1027:【入门】求任意三位数各个数位上数字的和

题目描述

对于一个任意的三位自然数X,编程计算其各个数位上的数字之和S。

输入

输入一行,只有一个整数x(100<=x<=999)

输出

输出只有一行,包括1个整数

样例输入
123
样例输出
6
  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. int x;
  5. cin>>x;
  6. cout<<x/100+x/10%10+x%100%10;
  7. return 0;
  8. }

1028:【入门】输入一个三位数,把个位和百位对调后输出

题目描述

输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数

若翻转后存在前导0,正常输出前导0,例如:130,应输出031

输入

输入一行,只有一个整数x(100<=x<=999)。

输出

输出只有一行,包括1个整数。

样例输入
123
样例输出
321
  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. int x,a,b,c;
  5. cin>>x;
  6. a=x/100;
  7. b=x%100%10;
  8. c=x%100/10;
  9. cout<<b<<c<<a;
  10. return 0;
  11. }