算法竞赛入门码蹄集新手村600题(MT1101-1150)
Posted 灵彧universe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法竞赛入门码蹄集新手村600题(MT1101-1150)相关的知识,希望对你有一定的参考价值。
算法竞赛入门【码蹄集新手村600题】(MT1101-1150)
@TOC
前言
目录
1. MT1101 带参数的宏II
(1)题目描述
请编写一个简单程序,把f(x)=x*(x-1)定义成带参数的宏,从键盘输入a,b,将a+b的和作为宏实参计算并输出结果。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
#define f(x) x*(x-1)
using namespace std;
int main( )
int a,b,ans;
scanf("%d %d",&a,&b);
ans=a+b;
printf("%lf",(double)f(ans));
return 0;
2. MT1102 长方体
(1)题目描述
将长方体体积计算公式定义为宏。在主函数中输入长方体长、宽、高求体积。不考虑不合理的输入或是溢出等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
#define f(x,y,z) x*y*z
using namespace std;
int main( )
double x,y,z;
scanf("%lf %lf %lf",&x,&y,&z);
printf("%lf",f(x,y,z));
return 0;
3. MT1103 球体积
(1)题目描述
将球体积计算公式定义为宏。在主函数中输入半径求体积。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
#define f(x) 3.14159*4/3*x*x*x
using namespace std;
int main( )
double x;
cin>>x;
printf("%lf",f(x));
return 0;
4. MT1104 三角形
(1)题目描述
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
#define f(a,b,c,p) sqrt(p*(p-a)*(p-b)*(p-c))
using namespace std;
int main( )
double a,b,c,p;
cin >> a >> b >>c;
p=0.5*(a+b+c);
if(a+b<=c || a+c<=b || b+c<=a) printf("-1");
else printf("%lf",f(a,b,c,p));
return 0;
5. MT1105 英寸英尺英里
(1)题目描述
定义关于长度的宏,英寸/厘米、英尺/米、英里/公里,计算英制与公制单位转换,在主函数中输入数据输出计算结果。假定1英寸=2.54厘米、1英尺=0.31米、1英里=1.61公里。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
#define f(x) x*2.54
#define g(x) x*0.31
#define z(x) x*1.61
using namespace std;
int main( )
double x,y,z;
cin >> x >> y >> z;
printf("%.2lf %.2lf %.2lf",f(x),g(y),z(z));
return 0;
6. MT1106 盎司磅
(1)题目描述
定义关于重量的宏,盎司/克、磅/公斤,计算美制单位与公制转换,在主函数中输入数据输出计算结果。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
#define f(x) x*28.35
#define g(x) x*0.45
using namespace std;
int main( )
double x,y;
cin >> x >> y;
printf("%.2lf %.2lf",f(x),g(y));
return 0;
7. MT1107 加仑/升
(1)题目描述
定义关于容量的宏,加仑/升,计算单位转换,在主函数中输入数据输出计算结果。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
#define f(x) x*3.79
using namespace std;
int main( )
double x;
cin >> x;
printf("%.2lf",f(x));
return 0;
8. MT1108 保留小数
(1)题目描述
将一个浮点型K数保留n(1≤n≤5)位小数(四舍五入)的算法定义为宏。在主函数中输入数据输出计算结果。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
double k;
int n;
cin >> k >> n;
cout << fixed << setprecision(n) << k << endl;
return 0;
9. MT1109 和10相比
(1)题目描述
请编写一个简单程序,输入一个整数,和10比较,输出比较结果
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x;
cin >> x;
if(x<10) cout << x <<"小于" <<10;
else if(x==10) cout << x <<"等于" <<10;
else cout << x <<"大于" <<10;
return 0;
10. MT1110 最小值
(1)题目描述
输入a,b两个整数,输出他们之间的最小值
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int a,b;
cin >> a >> b;
if(a<b) cout << a;
else cout << b;
return 0;
11. MT1111 最大值
(1)题目描述
输入a,b两个整数,输出他们之间的最大值
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int a,b;
cin >> a >> b;
if(a>b) cout << a;
else cout <<b;
return 0;
12. MT1112 中庸之道
(1)题目描述
请编写一个简单程序,输入3个整数,比较他们的大小,输出中间的那个数
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int dp[1000],a,b,c;
for(int i=1;i<=3;i++) cin >> dp[i];
sort(dp+1,dp+1+3);
cout << dp[2] <<endl;
return 0;
13. MT1113 三人同行
(1)题目描述
三人同行,输入他们的年龄,输出最年长者的年龄
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int dp[1000],a,b,c;
for(int i=1;i<=3;i++) cin >> dp[i];
sort(dp+1,dp+1+3);
cout << dp[3] <<endl;
return 0;
小结(一)
经典范例:
- 进制转换:MT1106、MT1107
- 四舍五入:MT1108
14. MT1114 偶数还是奇数
(1)题目描述
请编写一个简单程序,检查一个正整数是偶数还是奇数,如果是偶数输出Y,否则输出N。(不考虑0)
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int a;
cin >> a;
if(a%2==0) cout << "Y";
else cout << "N";
return 0;
15. MT1115 小于m的偶数
(1)题目描述
判断n是否为小于m的偶数,不考虑0,负数或者其他特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n,m;
cin >> n >> m;
if(n<m&&n%2==0) cout << "YES";
else cout << "NO";
return 0;
16. MT1116 正整数
(1)题目描述
判断n是否为两位数的正整数
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
if(n>9&&n<100) cout<<"YES";
else cout<<"NO";
return 0;
17. MT1117 两个负数
(1)题目描述
判断x、y、z中是否有两个负数。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x,y,z,num=0;
cin >> x >> y >>z;
if(x<0) ++num;
if(y<0) ++num;
if(z<0) ++num;
if(num==2) cout<<"YES";
else cout<<"NO";
return 0;
18. MT1118 等差数列
(1)题目描述
判断a、b、c是否为一个等差数列中的连续三项。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int a,b,c;
cin >> a >> b >> c;
if(b-a==c-b) cout<<"YES";
else cout<<"NO";
return 0;
19. MT1119 大小写的转换
(1)题目描述
请编写一个简单程序,实现输入字符大小写的转换。其他非法输入(非字母的输入)则原样输出。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
char ch;
cin >> ch;
if(ch >= A && ch<=Z) ch+=32;
else if(ch >= a && ch<=z) ch-=32;
else ch=ch;
cout << ch <<endl;
return 0;
20. MT1120 老师的评语
(1)题目描述
请编写一个简单程序,输入学生成绩等级ABCD,输出相应的评语“Excellent” 、 “Well done" 、 “You passed"、“Better luck next time"。非法输入时候则输出“Invalid grade"
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
char ch;
cin >> ch;
if(ch==A) cout<<"Excellent";
else if(ch==B) cout<<"Well done";
else if(ch==C) cout<<"You passed";
else if(ch==D) cout<<"Better luck next time";
else cout<<"Invalid grade";
return 0;
21. MT1121 小码哥考完咯
(1)题目描述
小码哥考完咯,你是她的老师,请使用switch语句编写一个程序,输出她的分数对应的成绩等级ABCDF。使用以下分级标准:A=90-100,B=80-89,C=70-79,D=60-69,F=O-59。不考虑负数或者其他特殊情况。本题要求使用switch语句。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
n/=10;
switch(n)
case 10: cout<<A<<endl; break;
case 9: cout<<A<<endl; break;
case 8: cout<<B<<endl; break;
case 7: cout<<C<<endl; break;
case 6: cout<<D<<endl; break;
default: cout<<F<<endl;
return 0;
小结(二)
经典例题
- 冒泡排序:MT1112
- 正整数(MT1116)的第二种解法:
-
大小写转换:MT1119
22. MT1122 阶梯IF-ELSE
(1)题目描述
小码哥考完咯,你是她的老师,请编写一个程序,输出她的分数对应的成绩等级ABCDF。使用以下分级标准:A=90-100,B=80-89,C=70-79,D=60-69,F=0-59不考虑负数或者其他特殊情况。本题要求使用阶梯IF-ELSE语句,不得使用switch。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
n/=10;
switch(n)
case 10: cout<<A<<endl; break;
case 9: cout<<A<<endl; break;
case 8: cout<<B<<endl; break;
case 7: cout<<C<<endl; break;
case 6: cout<<D<<endl; break;
default: cout<<F<<endl;
return 0;
23. MT1123 元音
(1)题目描述
请编写一个简单程序,检查输入字符是否为元音
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
char ch;
cin >> ch;
vector<char> aA,a,O,o,E,e,I,i,U,u;
vector<char>::iterator iter = find(a.begin(),a.end(),ch);
if(iter == a.end()) cout<<N;
else cout<<Y;
return 0;
24. MT1124 罗马数字
(1)题目描述
编一个程序,输入一个整数(1~9),输出对应大写罗马数字。不考虑非法的不合理的输入等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
string c[100] = "0","I","II","III","IV","V","VI","VII","VIII","IX","X";
cout << c[n] << endl;
return 0;
25. MT1125 几月份
(1)题目描述
编一个程序,输入该月的英文月名,小写,输出对应月份号。不考虑非法的不合理的输入等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
string s;
cin >> s;
if(s=="january") cout<<1;
else if(s=="february") cout<<2;
else if(s=="march") cout<<3;
else if(s=="april") cout<<4;
else if(s=="may") cout<<5;
else if(s=="june") cout<<6;
else if(s=="july") cout<<7;
else if(s=="august") cout<<8;
else if(s=="september") cout<<9;
else if(s=="october") cout<<10;
else if(s=="november") cout<<11;
else if(s=="december") cout<<12;
return 0;
26. MT1126 十二生肖
(1)题目描述
编一个程序,输入一个整数(1~12),输出对应十二生肖,鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪的拼音(小写)。不考虑非法的不合理的输入等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
string c[100] = "shu","niu","hu","tu","long","she","ma","yang","hou","ji","gou","zhu";
cout << c[n-1] << endl;
return 0;
27. MT1127 小码哥的属相
(1)题目描述
输入小码哥的生日年份(1900~2050),计算输出小码哥的属相生肖(“rat”,"ox” , “tiger" , "rabbit”, “dragon”, “snake”, “horse” , "sheep”,"monkey", "rooster" , "dog", "pig")。不考虑非法输入等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
n=n-1900;
n%=12;
string c[100] = "rat","ox","tiger","rabbit","dragon","snake","horse","sheep","monkey","rooster","dog","pig";
cout << c[n] << endl;
return 0;
28. MT1128 骰子的反面
(1)题目描述
小码哥抛出一个六面骰子。每个面上都印有一个数字,数字在1到6之间。输入正面的数字,输出对面的数字。其他情况输出-1。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x;
cin >> x;
switch(x)
case 1: cout<<6;break;
case 6: cout<<1;break;
case 2: cout<<5;break;
case 5: cout<<2;break;
case 3: cout<<4;break;
case 4: cout<<3;break;
default: cout<<"-1";break;
return 0;
29. MT1129 小码哥玩骰子
(1)题目描述
小码哥抛出一个六面骰子。每个面上都印有一个数字,数字在1到6之间。输入正面的数字,请猜测对面的数字并输出两数之和。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x;
cin >> x;
switch(x)
case 1: cout<<7;break;
case 6: cout<<7;break;
case 2: cout<<7;break;
case 5: cout<<7;break;
case 3: cout<<7;break;
case 4: cout<<7;break;
default: cout<<"-1";break;
return 0;
30. MT1130 骰子里的数学
(1)题目描述
小码哥抛出一个六面骰子。每个面上都印有一个数字,数字在1到6之间。输入正面的数字,请猜测对面的数字并输出两数之差。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x;
cin >> x;
switch(x)
case 1: cout<<"-5";break;
case 6: cout<<5;break;
case 2: cout<<"-3";break;
case 5: cout<<3;break;
case 3: cout<<"-1";break;
case 4: cout<<"1";break;
default: cout<<"-1";break;
return 0;
31. MT1131 字符判断
(1)题目描述
输入一个字符,判断是数字字符、大写字母、小写字母、算术运算符、关系运算符、逻辑运算符,还是其他字符,分别输出“Number”, "Capital letter”,"Lowercase letter" , “Arithmetic operators”, “Relational operators”,"Logical operators”, "Other character"。
格式
样例1
备注
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
char ch;
int a;
cin >> ch;
a=(int)ch;
if(a >=48 &&a <= 57) cout << "Number" <<endl;
else if(ch >= A && ch <=Z) cout << "Capital letter" <<endl;
else if(ch >= a && ch <=z) cout << "Lowercase letter" <<endl;
else if(ch == + || ch ==- || ch == * || ch ==/) cout << "Arithmetic operators" <<endl;
else if(ch == = || ch ==> || ch ==<) cout << "Relational operators" <<endl;
else if(ch == ! || ch ==& || ch == ^ || ch ==|) cout << "Logical operators" <<endl;
else cout << "Other character" <<endl;
return 0;
32. MT1132 人民币大写数字
(1)题目描述
输入一个金额,输出对应的人民币大写数字(零壹贰参肆伍陆染挪玫拾)。不考虑负数等不合理的输入。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n,m,t;
string c[100] = "零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾";
cin >> n;
if(n/10!=0) cout << c[n/10] << c[10];
m = n/10,t=n%10;
if(t!=0) cout << c[t];
if(n==0) cout << c[0];
cout << "元整"<<endl;
return 0;
33. MT1133 小码哥打车
(1)题目描述
小码哥在缅因州打车,那里只有Yellow cab,5个迈(Mile)以内收费10美元,里程大于5个迈小于等于10个迈的部分每个迈收费2美元,里程大于10个迈的部分每个迈收费2.5美元。不考虑负数,O或者其他特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
double res;
cin >> n;
if(n <= 5) res = 10.00;
else if(n>5 && n<=10) res = 10.0+2*(n-5);
else if(n>10) res = 20+2.5*(n-10);
printf("%.2lf",res);
return 0;
34. MT1134 简单计算
(1)题目描述
编写一个模拟简单计算器的程序,计算表达式: a op b的值,要求a、op、b从盘输入。其中a、b (作除数时不能为O)为数值,op为运算符+、 -、*、/。本题不考虑非法输入等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
double n,m,res;
char ch;
cin >> n >> ch >> m;
switch(ch)
case +: res = n+m; break;
case -: res = n-m; break;
case *: res = n*m; break;
case /: res = n/m; break;
printf("%.6lf",res);
return 0;
35. MT1135 时间转换
(1)题目描述
编写一个程序,输入24小时制的时间,然后以12小时的形式显示时间。不考虑负数或者其他特殊情况。注意不要把中午12:00显示为00:00,应该是12:0OPM。凌晨00:00则是12:00AM。
格式
样例1
(2)参考代码
import java.util.Scanner;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
class Main
public static void main(String[] args)
Scanner s = new Scanner(System.in);
// code here
String t = s.nextLine();
SimpleDateFormat f = new SimpleDateFormat("HH:mm");
Date d = null;
try
d=f.parse(t);
catch(ParseException e)
e.printStackTrace();
boolean pm = false;
if(d.getHours() == 0)
d.setHours(d.getHours()+12);
else if(d.getHours()==12)
pm = true;
else if(d.getHours()>12)
d.setHours(d.getHours()-12);
pm = true;
System.out.printf("%02d:%02d",d.getHours(),d.getMinutes());
if(pm==true)
System.out.println("PM");
else
System.out.println("AM");
s.close();
36. MT1136 时间也能加
(1)题目描述
分两行输入两组时分秒,空格分隔,编写一个函数,把对应的时和时相加,分和分相加,秒和秒相加,输出结果。结果也是时分秒,要满足时间规律,比如秒的范围是0~59。不考虑不合理的输入等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int a,b,c;
cin >> a >> b >> c;
int ans = a*60*60+b*60+c;
cin >> a >> b >> c;
ans += a*60*60+b*60+c;
cout << ans/60/60 << " "<< ans/60%60 << " "<< ans%60;
return 0;
37. MT1137 闰年
(1)题目描述
请编写一个简单程序,判断输入的年份是不是闰年。输入公元后的年份。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int y;
cin >> y;
if((y%4==0) && (y%100!=0) || (y%400==0)) cout<<"Y";
else cout<<"N";
return 0;
38. MT1138 第几天
(1)题目描述
输入日期(YYYY-M-D),然后输出它是一年中的第几天。不考虑负数或者其他特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int dp[13] = 0,31,28,31,30,31,30,31,31,30,31,30,31;
int m,y,d,ans;
scanf("%d-%d-%d",&y,&m,&d);
if((y%100 != 0 && y%4==0) || y%400 ==0) dp[2]++;
for(int i=1;i<m;i++) ans += dp[i];
ans += d;
printf("%d",ans);
return 0;
39. MT1139 11或13
(1)题目描述
输入正整数N,判断它是否可被11或13整除,输出YES或者NO。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int N;
cin >> N;
if(N%11==0 || N%13==0) cout << "YES";
else cout << "NO";
return 0;
40. MT1140 数字7
(1)题目描述
输入一个整数N,判断它是不是整数7的和、差之类的。(比如某数等于7+7,或者7-7,或者7-7-7+7+7...)是则输出YES否则或者NO。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
if(n%7==0) cout << "YES";
else cout << "NO";
return 0;
小结(三)
典型范例:
-
比较新颖的方法:
容器方法:MT1123
String方法:MT1124 -
运算符:MT1134
- 时间算法:MT1136
- 闰年:MT1138
- 分位数:MT1143
- 整除:MT1145
41. MT1141 数字13
(1)题目描述
给您一个整数输入N,如果它是整数13的和或差(13+13,13-13,13-13-13+13+13...),输出YES,否则输出NO。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n;
cin >> n;
if(n%13==0) cout << "YES";
else cout << "NO";
return 0;
42. MT1142 整除的总数
(1)题目描述
输入正整数N和M,其中N<=M。求区间[N,M]中可被K整除的总数。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n,m,k,num;
cin >> n >> m >> k;
for(int i=n; i<=m; i++)
if(i%k==0) ++num;
cout << num;
return 0;
43. MT1143 哈沙德数
(1)题目描述
如果一个数字可被其数字之和整除,则称该数字为Harshad哈沙德数,输入一个正整数,判断他是不是哈沙德数,输出YES或者NO。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n,sum=0;
cin >> n;
for(int i=n;i>0;i/=10) sum+=i%10;
if(n%sum==0) cout<<"YES";
else cout<<"NO";
return 0;
44. MT1144 整除
(1)题目描述
输入正整数N,检查它是否可以被其数字之和整除,输出YES或者NO。不考虑不合理的输入等特殊情况。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n,sum=0;
cin >> n;
for(int i=n;i>0;i/=10) sum+=i%10;
if(n%sum==0) cout<<"YES";
else cout<<"NO";
return 0;
45. MT1145 全部整除
(1)题目描述
输入正整数N,找到一个最小的整数K,可以被1到N的每个数整除。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int n,i,j,sum;
cin >> n;
for(i=1;;i++)
sum=0;
for(j=1;j<=n;j++)
if(i%j==0) sum++;
if(sum==n) break;
cout << i;
return 0;
46. MT1146 孙子歌诀
(1)题目描述
存在一个数x,除以3余2,除以5余3,除以7余2,然后求这个数。明朝数学家程大位将解法编成易于上口的《孙子歌诀》︰
三人同行七十稀,
五树梅花廿一支,
七子团圆正半月,
除百零五使得知。
3人同行“70”稀,3的余数乘以70,5树梅花“21”支,5的余数乘以21,7子团圆正半月(15天),7的余数乘以15。最后加在一起除以105看余数。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x=1;
while(x++)
if(x%3==2&&x%5==3&&x%7==2)
cout<<x;
break;
return 0;
47. MT1147 古人的剩余定理
(1)题目描述
今有物不知其数,
三三数之剩二,
五五数之剩三,
七七数之剩二。
问物最少几何?
格式
样例1
解析:
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x=1;
while(x++)
if(x%3==2&&x%5==3&&x%7==2)
cout<<x;
break;
return 0;
48. MT1148 隐晦余8
(1)题目描述
存在一个数x(大于10),除以3余2,除以5余3,除以7余1,求这个数最小值。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x=11;
while(x++)
if(x%3==2&&x%5==3&&x%7==1)
cout<<x;
break;
return 0;
49. MT1149 余数
(1)题目描述
存在一个数x(大于10),除以7余2,除以11余4,除以13余5,求这个数最小值。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int x=11;
while(x++)
if(x%7==2&&x%11==4&&x%13==5)
cout<<x;
break;
return 0;
50. MT1150 战死四五百
(1)题目描述
带1500名兵士打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。问战死多少人。
格式
样例1
(2)参考代码
#include<bits/stdc++.h>
using namespace std;
int main( )
int i=1;
for(int i=1500;i>=0;i--)
if(i%3==2&&i%5==4&&i%7==6&&i<=1100)
cout<<1500-i;
break;
return 0;
小结(四)
-
整除范例:MT1145
结语
希望这些题能帮助到大家,一起进步,祝愿每一个算法道路上的“苦行僧”们,都能够历经磨难,终成正果,既然选择了这条路,走到了这里,中途放弃,岂不是太过可惜?
愿你的结局,配得上你一路的颠沛流离。
以上是关于算法竞赛入门码蹄集新手村600题(MT1101-1150)的主要内容,如果未能解决你的问题,请参考以下文章