网站开发外包费用会计科目,案例展示在网站中的作用,wordpress 支持手机,中联建设集团网站【深基2.例5】苹果采购
题目描述
现在需要采购一些苹果#xff0c;每名同学都可以分到固定数量的苹果#xff0c;并且已经知道了同学的数量#xff0c;请问需要采购多少个苹果#xff1f;
输入格式
输入两个不超过 1 0 9 10^9 109 正整数#xff0c;分别表示每人分到…【深基2.例5】苹果采购
题目描述
现在需要采购一些苹果每名同学都可以分到固定数量的苹果并且已经知道了同学的数量请问需要采购多少个苹果
输入格式
输入两个不超过 1 0 9 10^9 109 正整数分别表示每人分到的数量和同学的人数。
输出格式
一个整数表示答案。保证输入和答案都在 int 范围内的非负整数。
样例 #1
样例输入 #1
5 3样例输出 #1
15code
#includeiostream
using namespace std;
#define ll long long
int main(){ll n,w;cinnw;coutn*w;
}【深基2.例6】字母转换
题目描述
输入一个小写字母输出其对应的大写字母。例如输入 q[回车] 时会输出 Q。
输入格式
输出格式
样例 #1
样例输入 #1
q样例输出 #1
Qcode
#includeiostream
using namespace std;
int main(){char ch;cinch;cout(char)(A-ach);return 0;
}【深基2.例7】数字反转
题目描述
输入一个不小于 100 100 100 且小于 1000 1000 1000同时包括小数点后一位的一个浮点数例如 123.4 123.4 123.4 要求把这个数字翻转过来变成 4.321 4.321 4.321 并输出。
输入格式
一行一个浮点数
输出格式
一行一个浮点数
样例 #1
样例输入 #1
123.4样例输出 #1
4.321code
#includeiostream
#includecstring
using namespace std;
string a;
int main(){cina;int lena.size();for(int ilen-1;i0;i--){couta[i];}return 0;
}【深基2.例8】再分肥宅水
题目描述
现在有 t t t 毫升肥宅快乐水要均分给 n n n 名同学。每名同学需要 2 2 2 个杯子。现在想知道每名同学可以获得多少毫升饮料严格精确到小数点后 3 3 3 位以及一共需要多少个杯子。
输入格式
输入一个实数 t t t 和一个正整数 n n n使用空格隔开。
输出格式
输出两行。
第一行输出一个三位小数表示可以获得多少毫升饮料。第二行输出一个正整数表示一共需要多少个杯子。
样例 #1
样例输入 #1
500.0 3样例输出 #1
166.667
6提示
对于所有数据 0 ≤ t ≤ 10000 0\leq t\leq 10000 0≤t≤10000 且小数点后不超过 3 3 3 位 1 ≤ n ≤ 1000 1\leq n\leq 1000 1≤n≤1000。
code
#includeiostream
int main(){int n;double t;std::cintn;double at/(double)n;printf(%.3lf\n,a);printf(%d,2*n);
}小鱼的游泳时间
题目描述
伦敦奥运会要到了小鱼在拼命练习游泳准备参加游泳比赛可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。
这一天小鱼给自己的游泳时间做了精确的计时本题中的计时都按 24 24 24 小时制计算它发现自己从 a a a 时 b b b 分一直游泳到当天的 c c c 时 d d d 分请你帮小鱼计算一下它这天一共游了多少时间呢
小鱼游的好辛苦呀你可不要算错了哦。
输入格式
一行内输入四个整数以空格隔开分别表示题目中的 a , b , c , d a, b, c, d a,b,c,d。
输出格式
一行内输出两个整数 e e e 和 f f f用空格间隔依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 f f f 应该小于 60 60 60。
样例 #1
样例输入 #1
12 50 19 10样例输出 #1
6 20提示
对于全部测试数据 0 ≤ a , c ≤ 24 0\le a,c \le 24 0≤a,c≤24 0 ≤ b , d ≤ 60 0\le b,d \le 60 0≤b,d≤60且结束时间一定晚于开始时间。
code
//本题思路将开始和结束时间换成分钟数然后进行减法就可以求出来
#includeiostream
using namespace std;
int main(){int a,b,c,d;cinabcd;int e,f,delta;delta(60*cd)-(60*ab);edelta/60;fdelta%60;coute fendl;return 0;
}[NOIP2017 普及组] 成绩
题目背景
NOIP2017 普及组 T1
题目描述
牛牛最近学习了 C 入门课程这门课程的总成绩计算方法是 总成绩 作业成绩 × 20 % 小测成绩 × 30 % 期末考试成绩 × 50 % \text{总成绩}\text{作业成绩}\times 20\%\text{小测成绩}×30\%\text{期末考试成绩} \times 50\% 总成绩作业成绩×20%小测成绩×30%期末考试成绩×50%
牛牛想知道这门课程自己最终能得到多少分。
输入格式
三个非负整数 A , B , C A,B,C A,B,C分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开三项成绩满分都是 100 100 100 分。
输出格式
一个整数即牛牛这门课程的总成绩满分也是 100 100 100 分。
样例 #1
样例输入 #1
100 100 80样例输出 #1
90样例 #2
样例输入 #2
60 90 80样例输出 #2
79提示
样例 1 说明
牛牛的作业成绩是 100 100 100 分小测成绩是 100 100 100 分期末考试成绩是 80 80 80 分总成绩是 100 × 20 % 100 × 30 % 80 × 50 % 20 30 40 90 100 \times 20\%100 \times 30\%80 \times 50\%20304090 100×20%100×30%80×50%20304090。
样例 2 说明
牛牛的作业成绩是 60 60 60 分小测成绩是 90 90 90 分期末考试成绩是 80 80 80 分总成绩是 60 × 20 % 90 × 30 % 80 × 50 % 12 27 40 79 60 \times 20\%90 \times 30\%80 \times 50\%12274079 60×20%90×30%80×50%12274079。
数据说明
对于 30 % 30\% 30% 的数据 A B 0 AB0 AB0。
对于另外 30 % 30\% 30% 的数据 A B 100 AB100 AB100。
对于 100 % 100\% 100% 的数据 0 ≤ A , B , C ≤ 100 0≤A,B,C≤100 0≤A,B,C≤100 且 A , B , C A,B,C A,B,C 都是 10 10 10 的整数倍。
code
#includeiostream
using namespace std;
int main(){int a,b,c;cinabc;cout0.2*a0.3*b0.5*c;
}【深基2.例12】上学迟到
题目描述
学校和 yyy 的家之间的距离为 s s s 米而 yyy 以 v v v 米每分钟的速度匀速走向学校。
在上学的路上yyy 还要额外花费 10 10 10 分钟的时间进行垃圾分类。
学校要求必须在上午 8:00 \textrm{8:00} 8:00 到达请计算在不迟到的前提下yyy 最晚能什么时候出门。
由于路途遥远yyy 可能不得不提前一点出发但是提前的时间不会超过一天。
输入格式
一行两个正整数 s , v s,v s,v分别代表路程和速度。
输出格式
输出一个 24 24 24 小时制下的时间代表 yyy 最晚的出发时间。
输出格式为 HH:MM \texttt{HH:MM} HH:MM分别代表该时间的时和分。必须输出两位不足前面补 0 0 0。
样例 #1
样例输入 #1
100 99样例输出 #1
07:48提示
对于 100 % 100\% 100% 的数据 1 ≤ s , v ≤ 1 0 4 1 \le s,v \le 10^4 1≤s,v≤104。
code
#includeiostream
#includecmath
using namespace std;
int s,v;
int main(){cinsv;int min(248)*60;//计算到前一天零点int min110ceil(1.0*s/v);int min2min-min1;int h(min2/60)%24;//大于一天int min3min2%60;printf(%02d:%02d,h,min3);return 0;
}【深基2.习2】三角形面积
题目描述
一个三角形的三边长分别是 a a a、 b b b、 c c c那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)} p(p−a)(p−b)(p−c) 其中 p 1 2 ( a b c ) p\frac{1}{2}(abc) p21(abc)。输入这三个数字计算三角形的面积四舍五入精确到 1 1 1 位小数。
输入格式
第一行输入三个实数 a , b , c a,b,c a,b,c以空格隔开。
输出格式
输出一个实数表示三角形面积。精确到小数点后 1 1 1 位。
样例 #1
样例输入 #1
3 4 5样例输出 #1
6.0提示
数据保证能构成三角形 0 ≤ a , b , c ≤ 1000 0\leq a,b,c\leq 1000 0≤a,b,c≤1000每个边长输入时不超过 2 2 2 位小数。
code
#includeiostream
#includecmath
using namespace std;
int main(){double a,b,c;cinabc;double p;p0.5*(abc);double ksqrt(p*(p-a)*(p-b)*(p-c));printf(%.1lf,k);return 0;
}小玉买文具
题目描述
班主任给小玉一个任务到文具店里买尽量多的签字笔。已知一只签字笔的价格是 1 1 1 元 9 9 9 角而班主任给小玉的钱是 a a a 元 b b b 角小玉想知道她最多能买多少只签字笔呢。
输入格式
输入只有一行两个整数分别表示 a a a 和 b b b。
输出格式
输出一行一个整数表示小玉最多能买多少只签字笔。
样例 #1
样例输入 #1
10 3样例输出 #1
5提示
数据规模与约定
对于全部的测试点保证 0 ≤ a ≤ 1 0 4 0 \leq a \leq 10^4 0≤a≤104 0 ≤ b ≤ 9 0 \leq b \leq 9 0≤b≤9。
code
#includeiostream
using namespace std;
int main(){int a,b;cinab;int ca*10b;int dc/19;coutd;
}【深基2.习6】Apples Prologue / 苹果和虫子
题目描述
小 B 喜欢吃苹果。她现在有 m m m 1 ≤ m ≤ 100 1 \le m \le 100 1≤m≤100个苹果吃完一个苹果需要花费 t t t 0 ≤ t ≤ 100 0 \le t \le 100 0≤t≤100分钟吃完一个后立刻开始吃下一个。现在时间过去了 s s s 1 ≤ s ≤ 10000 1 \le s \le 10000 1≤s≤10000分钟请问她还有几个完整的苹果
输入格式
输入三个非负整数表示 m , t , s m, t, s m,t,s。
输出格式
输出一个整数表示答案。
样例 #1
样例输入 #1
50 10 200样例输出 #1
30提示
如果你出现了 RE不如检查一下被零除
code
#includeiostream
#includecmath
using namespace std;
int m,t,s;
int main(){cinmts;int s1ceil(1.0*s/t);if(m-s10){coutm-s1endl;}else {cout0endl;}return 0;
}对角线
题目描述
对于一个 n n n 个顶点的凸多边形它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。
例如 6 6 6 边形 输入格式
输入只有一行一个整数 n n n代表边数。
输出格式
输出一行一个整数代表答案。
样例 #1
样例输入 #1
3样例输出 #1
0样例 #2
样例输入 #2
6样例输出 #2
15提示
数据规模与约定
对于 50 % 50 \% 50% 的数据保证 3 ≤ n ≤ 100 3 \leq n \leq 100 3≤n≤100。对于 100 % 100 \% 100% 的数据保证 3 ≤ n ≤ 1 0 5 3 \leq n \leq 10^5 3≤n≤105。
解题思路
本题需要寻找规律以五边形为例根据画图可以看出每一个交点都出自一个四边形每个点都可以在一个四边形中本题就可以转化为在一个n边形并将对角线连接找中间有几个四边形根据排列组合可以得出应该为在n个数中去4个数由于n的最大值是10^5 最大值就会为10^20而long long 的最大值为2^63-1 为9223372036854775807大约就是9.2 * 10^18unsigned long long 的最大值是2^64-1为18446744073709551615 大约就是1.8 * 10^19所以要进行化简由于两数相乘可以约掉2三个数相乘可以约掉三四个数相乘可以约掉四n个数相乘可以约掉n。所以就可以得出公式了。最大值就应该为1.6 * 10^19所以要使用unsigned long long类型
code
#includeiostream
using namespace std;
int main(){unsigned long long n,ans;cinn;ansn*(n-1)/2*(n-2)/3*(n-3)/4;coutans;return 0;
}【深基3.例2】数的性质
题目描述
一些整数可能拥有以下的性质
性质 1是偶数性质 2大于 4 4 4 且不大于 12 12 12。
小 A 喜欢这两个性质同时成立的整数Uim 喜欢这至少符合其中一种性质的整数小 B 喜欢刚好有符合其中一个性质的整数正妹喜欢不符合这两个性质的整数。现在给出一个整数 x x x请问他们是否喜欢这个整数
输入格式
输入一个整数 x ( 0 ≤ x ≤ 1000 ) x(0\le x \le 1000) x(0≤x≤1000)
输出格式
输出这 4 4 4 个人是否喜欢这个数字如果喜欢则输出 1否则输出 0用空格分隔。输出顺序为小 A、Uim、小 B、正妹。
样例 #1
样例输入 #1
12样例输出 #1
1 1 0 0知识点
异或运算^ 只要有一个符合就返回1。
code:
#includeiostream
using namespace std;
bool check1(int x){if(x%20) return true;return false;
}
bool check2(int x){if(x4x12) return true;return false;
}
int main(){int x;cinx;if(check1(x)check2(x)) cout1 ;else cout0 ;if(check1(x)||check2(x)) cout1 ;else cout0 ;if(check1(x)^check2(x)) cout1 ;else cout0 ;if(!check1(x)!check2(x)) cout1 ;else cout0 ;return 0;
}【深基3.例3】闰年判断
题目描述
输入一个年份判断这一年是否是闰年如果是输出 1 1 1否则输出 0 0 0。 1582 1582 1582 年以来闰年的定义
普通闰年公历年份是 4 4 4 的倍数且不是 100 100 100 的倍数的为闰年如 2004 2004 2004 年、 2020 2020 2020 年等就是闰年。
世纪闰年公历年份是整百数的必须是 400 400 400 的倍数才是闰年如 1900 1900 1900 年不是闰年 2000 2000 2000 年是闰年。
输入格式
输入一个正整数 n n n表示年份。
输出格式
输出一行。如果输入的年份是闰年则输出 1 1 1否则输出 0 0 0。
样例 #1
样例输入 #1
1926样例输出 #1
0样例 #2
样例输入 #2
1900样例输出 #2
0样例 #3
样例输入 #3
2000样例输出 #3
1样例 #4
样例输入 #4
1996样例输出 #4
1提示
数据保证 1582 ≤ n ≤ 2020 1582 \leq n \leq 2020 1582≤n≤2020 且年份为自然数。
code
#includeiostream
using namespace std;
int n;
int main(){cinn;if((n%40n%100!0)||n%4000) cout1;else cout0;return 0;
}【深基3.例4】Apples
题目描述
小 B 喜欢吃苹果。她今天吃掉了 x x x 个苹果。英语课上学到了 apple 这个词语想用它来造句。如果她吃了 1 个苹果就输出 Today, I ate 1 apple.如果她没有吃那么就把 1 换成 0如果她吃了不止一个苹果别忘了 apple 这个单词后面要加上代表复数的 s。你能帮她完成这个句子吗
输入格式
输入一行一个自然数 x x x表示吃掉的苹果数。
输出格式
根据题目要求输出。
样例 #1
样例输入 #1
1样例输出 #1
Today, I ate 1 apple.样例 #2
样例输入 #2
3样例输出 #2
Today, I ate 3 apples.提示
对于所有数据 0 ≤ x ≤ 100 0\le x \le 100 0≤x≤100。
code
#includeiostream
using namespace std;
int x;
int main(){cinx;if(x1) printf(Today, I ate %d apples.,x);else printf(Today, I ate %d apple.,x);return 0;
}【深基3.例5】洛谷团队系统
题目描述
在洛谷上使用团队系统非常方便的添加自己的题目。如果在自己的电脑上配置题目和测试数据每题需要花费时间 5 5 5 分钟而在洛谷团队中上传私有题目每题只需要花费 3 3 3 分钟但是上传题目之前还需要一次性花费 11 11 11 分钟创建与配置团队。现在要配置 n n n 道题目如果本地配置花费的总时间短请输出 Local否则输出 Luogu。
输入格式
输入一个正整数 n n n表示需要配置的题目量。
输出格式
输出一行一个字符串。如果本地配置花费的总时间短请输出 Local否则输出 Luogu。
样例 #1
样例输入 #1
2样例输出 #1
Local样例 #2
样例输入 #2
50样例输出 #2
Luogu提示
数据保证 1 ≤ n ≤ 100 1 \leq n\leq 100 1≤n≤100。
code
#includeiostream
using namespace std;
int main(){int n;cinn;int a5*n;int b113*n;if(ab) coutLocal;else coutLuogu;
}【深基3.例7】肥胖问题
题目描述
BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准其算法是 m h 2 \dfrac{m}{h^2} h2m其中 m m m 是指体重千克 h h h 是指身高米。不同体型范围与判定结果如下
小于 18.5 18.5 18.5体重过轻输出 Underweight大于等于 18.5 18.5 18.5 且小于 24 24 24正常体重输出 Normal大于等于 24 24 24肥胖不仅要输出 BMI 值使用 cout 的默认精度然后换行还要输出 Overweight
现在给出体重和身高数据需要根据 BMI 指数判断体型状态并输出对应的判断。
对于非 C 语言在输出时请四舍五入保留六位有效数字输出如果小数部分存在后缀 0 0 0不要输出后缀 0 0 0。
请注意保留六位有效数字不是保留六位小数。例如 123.4567 123.4567 123.4567 应该输出为 123.457 123.457 123.457 5432.10 5432.10 5432.10 应该输出为 5432.1 5432.1 5432.1。
输入格式
共一行。
第一行共 2 2 2 个浮点数 m , h m, h m,h分别表示体重单位为 kg身高单位为 m。
输出格式
输出一行一个字符串表示根据 BMI 的对应判断。特别地对于 Overweight 情况的特别处理请参照题目所述。
样例 #1
样例输入 #1
70 1.72样例输出 #1
Normal样例 #2
样例输入 #2
100 1.68样例输出 #2
35.4308
Overweight提示
对于所有数据 40 ≤ m ≤ 120 40\le m \le 120 40≤m≤120 1.4 ≤ h ≤ 2.0 1.4 \le h \le 2.0 1.4≤h≤2.0。 m m m 和 h h h 的小数点后不超过三位。
code:
#includeiostream
using namespace std;
int main(){double m,h;cinmh;double blmm/(h*h);if(blm18.5) coutUnderweight;if(blm18.5blm24) coutNormal;if(blm24) coutblmendlOverweight;
}【深基3.例8】三位数排序
题目描述
给出三个整数 a , b , c ( 0 ≤ a , b , c ≤ 100 ) a,b,c(0\le a,b,c \le 100) a,b,c(0≤a,b,c≤100)要求把这三位整数从小到大排序。
输入格式
输入三个整数 a , b , c a,b,c a,b,c以空格隔开。
输出格式
输出一行三个整数表示从小到大排序后的结果。
样例 #1
样例输入 #1
1 14 5样例输出 #1
1 5 14样例 #2
样例输入 #2
2 2 2样例输出 #2
2 2 2code:
#includeiostream
#includealgorithm
using namespace std;
int main(){int a[3];for(int i0;i3;i) cina[i];sort(a,a3);couta[0] a[1] a[2];
}【深基3.例9】月份天数
题目描述
输入年份和月份输出这一年的这一月有多少天。需要考虑闰年。
输入格式
输入两个正整数分别表示年份 y y y 和月数 m m m以空格隔开。
输出格式
输出一行一个正整数表示这个月有多少天。
样例 #1
样例输入 #1
1926 8样例输出 #1
31样例 #2
样例输入 #2
2000 2样例输出 #2
29提示
数据保证 1583 ≤ y ≤ 2020 1583 \leq y \leq 2020 1583≤y≤2020 1 ≤ m ≤ 12 1 \leq m \leq 12 1≤m≤12。
code:
#includeiostream
using namespace std;
int y,m;
int main(){cinym;if((y%40y%100!0)||y%4000){if(m2){cout29;return 0;}}else {if(m2){cout28;return 0;}}if(m1||m3||m5||m7||m8||m10||m12) cout31;else cout30;return 0;
}[NOIP2004 普及组] 不高兴的津津
题目描述
津津上初中了。妈妈认为津津应该更加用功学习所以津津除了上学之外还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴而且上得越久就会越不高兴。假设津津不会因为其它事不高兴并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排看看下周她会不会不高兴如果会的话哪天最不高兴。
输入格式
输入包括 7 7 7 行数据分别表示周一到周日的日程安排。每行包括两个小于 10 10 10 的非负整数用空格隔开分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 0 0 0如果会则输出最不高兴的是周几用 1 , 2 , 3 , 4 , 5 , 6 , 7 1, 2, 3, 4, 5, 6, 7 1,2,3,4,5,6,7 分别表示周一周二周三周四周五周六周日。如果有两天或两天以上不高兴的程度相当则输出时间最靠前的一天。
样例 #1
样例输入 #1
5 3
6 2
7 2
5 3
5 4
0 4
0 6样例输出 #1
3提示
NOIP2004 普及组第 1 题
2021-10-27增加一组 hack 数据2022-06-05又增加一组 hack 数据
code:
#includeiostream
#includealgorithm
using namespace std;
int a,b,maxn0,c;
int main(){for(int i1;i7;i){cinab;int sab;if((smaxn)(s8)){maxns;ci;}}coutcendl;return 0;
}[NOIP2016 普及组] 买铅笔
题目背景
NOIP2016 普及组 T1
题目描述
P 老师需要去商店买 n n n 支铅笔作为小朋友们参加 NOIP 的礼物。她发现商店一共有 3 3 3 种包装的铅笔不同包装内的铅笔数量有可能不同价格也有可能不同。为了公平起 见P 老师决定只买同一种包装的铅笔。
商店不允许将铅笔的包装拆开因此 P 老师可能需要购买超过 n n n 支铅笔才够给小朋友们发礼物。
现在 P 老师想知道在商店每种包装的数量都足够的情况下要买够至少 n n n 支铅笔最少需要花费多少钱。
输入格式
第一行包含一个正整数 n n n表示需要的铅笔数量。
接下来三行每行用 2 2 2 个正整数描述一种包装的铅笔其中第 1 1 1 个整数表示这种包装内铅笔的数量第 2 2 2 个整数表示这种包装的价格。
保证所有的 7 7 7 个数都是不超过 10000 10000 10000 的正整数。
输出格式 1 1 1 个整数表示 P 老师最少需要花费的钱。
样例 #1
样例输入 #1
57
2 2
50 30
30 27样例输出 #1
54样例 #2
样例输入 #2
9998
128 233
128 2333
128 666样例输出 #2
18407样例 #3
样例输入 #3
9999
101 1111
1 9999
1111 9999样例输出 #3
89991提示
铅笔的三种包装分别是 2 2 2 支装价格为 2 2 2; 50 50 50 支装价格为 30 30 30; 30 30 30 支装价格为 27 27 27。
P 老师需要购买至少 57 57 57 支铅笔。
如果她选择购买第一种包装那么她需要购买 29 29 29 份共计 2 × 29 58 2 \times 29 58 2×2958 支需要花费的钱为 2 × 29 58 2 \times 29 58 2×2958。
实际上P 老师会选择购买第三种包装这样需要买 2 2 2 份。虽然最后买到的铅笔数量更多了为 30 × 2 60 30 \times 2 60 30×260 支但花费却减少为 27 × 2 54 27 \times 2 54 27×254比第一种少。
对于第二种包装虽然每支铅笔的价格是最低的但要够发必须买 2 2 2 份实际的花费达到了 30 × 2 60 30 \times 2 60 30×260因此 P 老师也不会选择。
所以最后输出的答案是 54 54 54。
数据范围
保证所有的 7 7 7 个数都是不超过 10000 10000 10000 的正整数。
子任务
子任务会给出部分测试数据的特点。如果你在解决题目中遇到了困难可以尝试只解决一部分测试数据。
每个测试点的数据规模及特点如下表 上表中“整倍数”的意义为若为 K K K表示对应数据所需要的铅笔数量 n n n —定是每种包装铅笔数量的整倍数这意味着一定可以不用多买铅笔。
于 2022 年 12 月 23 日新加 Hack 数据三组。
code:
//倍增 O(logN)
#includeiostream
using namespace std;
int n,a,b,m,w,ans;//n代表要买n支笔a表示包装的笔的数量b表示这种包装的价格
int main(){cinn;for(int i1;i3;i){cinab;ma,wb;while(an){a1;b1;//价格与数量不断*2直到数量大于2}while(an){a-m;b-w;//*2有可能导致买太多了减去一些}while(an){am;bw;//减去之后又可能太少了加上一些}//主体思路就是大幅度的上调然后做一些微调if(bans||ans0) ansb;;//判断最小花费}coutansendl;return 0;
}[NOIP2008 普及组] ISBN 号码
题目描述
每一本正式出版的图书都有一个 ISBN 号码与之对应ISBN 码包括 9 9 9 位数字、 1 1 1 位识别码和 3 3 3 位分隔符其规定格式如 x-xxx-xxxxx-x其中符号 - 就是分隔符键盘上的减号最后一位是识别码例如 0-670-82162-4就是一个标准的 ISBN 码。ISBN 码的首位数字表示书籍的出版语言例如 0 0 0 代表英语第一个分隔符 - 之后的三位数字代表出版社例如 670 670 670 代表维京出版社第二个分隔符后的五位数字代表该书在该出版社的编号最后一位为识别码。
识别码的计算方法如下
首位数字乘以 1 1 1 加上次位数字乘以 2 2 2 ……以此类推用所得的结果 $ \bmod 11$所得的余数即为识别码如果余数为 10 10 10则识别码为大写字母 X X X。例如 ISBN 号码 0-670-82162-4 中的识别码 4 4 4 是这样得到的对 067082162 这 9 9 9 个数字从左至右分别乘以 1 , 2 , … , 9 1,2,\dots,9 1,2,…,9 再求和即 0 × 1 6 × 2 … … 2 × 9 158 0\times 16\times 2……2\times 9158 0×16×2……2×9158然后取 158 m o d 11 158 \bmod 11 158mod11 的结果 4 4 4 作为识别码。
你的任务是编写程序判断输入的 ISBN 号码中识别码是否正确如果正确则仅输出 Right如果错误则输出你认为是正确的 ISBN 号码。
输入格式
一个字符序列表示一本书的 ISBN 号码保证输入符合 ISBN 号码的格式要求。
输出格式
一行假如输入的 ISBN 号码的识别码正确那么输出 Right否则按照规定的格式输出正确的 ISBN 号码包括分隔符 -。
样例 #1
样例输入 #1
0-670-82162-4样例输出 #1
Right样例 #2
样例输入 #2
0-670-82162-0样例输出 #2
0-670-82162-4提示
2008 普及组第一题
code:
#includeiostream
#includecstring
using namespace std;
int main(){char s[15],c;cins;int h0,k0;for(int i0;i11;i){if(s[i]!-){k;hk*(s[i]-0);//将字符串转换为数字}}h%11;if(h10) cX;else ch0;if(cs[12]) coutRightendl;else{s[12]c;coutsendl;}return 0;
}小玉家的电费
题目描述
夏天到了各家各户的用电量都增加了许多相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写据闽价电 [2006]27 号规定月用电量在 150 150 150 千瓦时及以下部分按每千瓦时 0.4463 0.4463 0.4463 元执行月用电量在 151 ∼ 400 151\sim 400 151∼400 千瓦时的部分按每千瓦时 0.4663 0.4663 0.4663 元执行月用电量在 401 401 401 千瓦时及以上部分按每千瓦时 0.5663 0.5663 0.5663 元执行。小玉想自己验证一下电费通知单上应交电费的数目到底是否正确呢。请编写一个程序已知用电总计根据电价规定计算出应交的电费应该是多少。
输入格式
输入一个正整数表示用电总计单位以千瓦时计不超过 10000 10000 10000。
输出格式
输出一个数保留到小数点后 1 1 1 位单位以元计保留到小数点后 1 1 1 位。
样例 #1
样例输入 #1
267样例输出 #1
121.5code:
#includeiostream
using namespace std;
int main(){double x;cinx;if(x150) printf(%.1lf,x*0.4463);else if(x150x400) printf(%.1lf,150.0*0.4463(x-150.0)*0.4663);else if(x400) printf(%.1lf,150.0*0.4463250.0*0.4663(x-400.0)*0.5663);
}小鱼的航程改进版
题目背景
题目描述
有一只小鱼它平日每天游泳 250 250 250 公里周末休息实行双休日)假设从周 x x x 开始算起过了 n n n 天以后小鱼一共累计游泳了多少公里呢
输入格式
输入两个正整数 x , n x,n x,n表示从周 x x x 算起经过 n n n 天。
输出格式
输出一个整数表示小鱼累计游泳了多少公里。
样例 #1
样例输入 #1
3 10样例输出 #1
2000提示
数据保证 1 ≤ x ≤ 7 1\le x \le 7 1≤x≤7 1 ≤ n ≤ 1 0 6 1 \le n\le 10^6 1≤n≤106。
code:
#includeiostream
using namespace std;
int main(){
int x,n;
cinxn;
int m0,cnt0;while(cntn){if(x5) {mm250;cnt;x;}else if(x5x7){x;cnt;}else x1;}coutm;return 0;
}三角函数
题目描述
输入一组勾股数 a , b , c a ≠ b ≠ c a,b,ca\neq b\neq c a,b,cabc用分数格式输出其较小锐角的正弦值。要求约分。
输入格式
一行包含三个正整数即勾股数 a , b , c a,b,c a,b,c无大小顺序。
输出格式
一行包含一个分数即较小锐角的正弦值
样例 #1
样例输入 #1
3 5 4样例输出 #1
3/5提示
数据保证 a , b , c a,b,c a,b,c 为正整数且 ∈ [ 1 , 1 0 9 ] \in [1,10^9] ∈[1,109]。
code
#includeiostream
#includecmath
#includealgorithm
using namespace std;
typedef long long ll;
int main(){ll a,b,c;cinabc;ll dmax(max(a,b),c);ll emin(min(a,b),c);ll f__gcd(d,e);dd/f;ee/f;coute/d;
}[NOIP2005 普及组] 陶陶摘苹果
题目描述
陶陶家的院子里有一棵苹果树每到秋天树上就会结出 10 10 10 个苹果。苹果成熟的时候陶陶就会跑去摘苹果。陶陶有个 30 30 30 厘米高的板凳当她不能直接用手摘到苹果的时候就会踩到板凳上再试试。
现在已知 10 10 10 个苹果到地面的高度以及陶陶把手伸直的时候能够达到的最大高度请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果苹果就会掉下来。
输入格式
输入包括两行数据。第一行包含 10 10 10 个 100 100 100 到 200 200 200 之间包括 100 100 100 和 200 200 200的整数以厘米为单位分别表示 10 10 10 个苹果到地面的高度两个相邻的整数之间用一个空格隔开。第二行只包括一个 100 100 100 到 120 120 120 之间包含 100 100 100 和 120 120 120的整数以厘米为单位表示陶陶把手伸直的时候能够达到的最大高度。
输出格式
输出包括一行这一行只包含一个整数表示陶陶能够摘到的苹果的数目。
样例 #1
样例输入 #1
100 200 150 140 129 134 167 198 200 111
110样例输出 #1
5提示
【题目来源】
NOIP 2005 普及组第一题
code
#includeiostream
#includealgorithm
using namespace std;
int a[10];
int cnt0;
int main(){for(int i0;i10;i){cina[i];}int n;cinn;nn30;sort(a,a10);for(int i0;i10;i){if(a[i]n) {cnti;break;}}coutcnt;
}【深基3.习8】三角形分类
题目描述
给出三条线段 a , b , c a,b,c a,b,c 的长度均是不大于 10000 10000 10000 的正整数。打算把这三条线段拼成一个三角形它可以是什么三角形呢
如果三条线段不能组成一个三角形输出Not triangle如果是直角三角形输出Right triangle如果是锐角三角形输出Acute triangle如果是钝角三角形输出Obtuse triangle如果是等腰三角形输出Isosceles triangle如果是等边三角形输出Equilateral triangle。
如果这个三角形符合以上多个条件请按以上顺序分别输出并用换行符隔开。
输入格式
输入 3 个整数 a a a、 b b b 和 c c c。
输出格式
输出若干行判定字符串。
样例 #1
样例输入 #1
3 3 3样例输出 #1
Acute triangle
Isosceles triangle
Equilateral triangle样例 #2
样例输入 #2
3 4 5样例输出 #2
Right triangle样例 #3
样例输入 #3
6 10 6样例输出 #3
Obtuse triangle
Isosceles triangle样例 #4
样例输入 #4
1 14 5样例输出 #4
Not triangle提示
当两短边的平方和大于一长边的平方说明是锐角三角形。
当两短边的平方和等于一长边的平方说明是直角三角形。
当两短边的平方和小于一长边的平方说明是钝角三角形。
code
#includeiostream
#includealgorithm
using namespace std;
int main(){int a,b,c;cinabc;int d[4]{0,a,b,c};sort(d1,d4);if(d[1]d[2]d[3]){coutNot triangleendl;return 0;}if(d[1]*d[1]d[2]*d[2]d[3]*d[3]) coutRight triangleendl;else if(d[1]*d[1]d[2]*d[2]d[3]*d[3]) coutAcute triangleendl;else if(d[1]*d[1]d[2]*d[2]d[3]*d[3]) coutObtuse triangleendl;if(ab||bc||ac) coutIsosceles triangleendl;if(abbc) coutEquilateral triangleendl;return 0;
}[COCI2006-2007#2] ABC
题面翻译
【题目描述】
三个整数分别为 A , B , C A,B,C A,B,C。这三个数字不会按照这样的顺序给你但它们始终满足条件 A B C A B C ABC。为了看起来更加简洁明了我们希望你可以按照给定的顺序重新排列它们。
【输入格式】
第一行包含三个正整数 A , B , C A,B,C A,B,C不一定是按这个顺序。这三个数字都小于或等于 100 100 100。第二行包含三个大写字母 A A A、 B B B 和 C C C它们之间没有空格表示所需的顺序。
【输出格式】
在一行中输出 A A A B B B 和 C C C用一个 空格隔开。
感谢 smartzzh 提供的翻译
题目描述
You will be given three integers A, B and C. The numbers will not be given in that exact order, but we do know that A is less than B and B less than C. In order to make for a more pleasant viewing, we want to rearrange them in the given order.
输入格式
The first line contains three positive integers A, B and C, not necessarily in that order. All three numbers will be less than or equal to 100. The second line contains three uppercase letters ‘A’, ‘B’ and ‘C’ (with no spaces between them) representing the desired order.
输出格式
Output the A, B and C in the desired order on a single line, separated by single spaces.
样例 #1
样例输入 #1
1 5 3
ABC样例输出 #1
1 3 5样例 #2
样例输入 #2
6 4 2
CAB样例输出 #2
6 2 4code:
#includeiostream
#includealgorithm
using namespace std;
int a[3];
char A,B,C;
int main(){cina[0]a[1]a[2];cinABC;sort(a,a3);couta[A-A] a[B-A] a[C-A]endl;//根据字符A、B、C的ASCII值来访问排序后的数组并输出对应的元素return 0;
}