先来一道简单题练练手
### 链接:https://ac.nowcoder.com/acm/contest/18839/1005
来源:牛客网
题目描述
输出九九乘法表,输出格式见样例。
输入描述:
此题没有输入
输出描述:
输出乘法表,对齐方式见样例输出
示例1
输入
复制
无
输出
复制
1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
#include
int main()
{for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){printf("%dx%d=%d ",j,i,i*j);//可以看到这里的细节小空格吗! 避免都连在一起了输出的时候是%2d !!!! }printf("\n");//换行操作 }return 0;
}
## 题目描述输入一个不小于 100 且小于 1000,同时包括小数点后一位的一个浮点数,例如 $123.4$ ,要求把这个数字翻转过来,变成 $4.321$ 并输出。## 输入格式一行一个浮点数## 输出格式一行一个浮点数## 样例 #1### 样例输入 #1
123.4
### 样例输出 #1
4.321
我们用scanf控制输入,把整数部分和小数部分分开来做反转(因为小数部分只有一位,只做整数部分就行)
#include
using namespace std;
int z,x,dz;
int main(){scanf("%d.%d",&z,&x); //输入整数部分+小数点+小数部分while(z){ //愉快的反转环节dz=dz*10+z%10;z/=10;}printf("%d.%d\n",x,dz); //就可以输出了return 0;
}
注意浮点数需要定义为float,在倒置数字时不要忘记了小数点
STL大法好!
首先拿到题目,第一感觉就是字符串,当然一个个读入在反过来输出也可以。
但字符串的反转操作我们可以用STL也可以直接倒序输出。
介绍一下STL里面的反转字符串函数
reverse()
reverse()
其格式是:
(
reverse( 数组名
.
(
)
.begin()
,
, 数组名
.
�
�
�
(
)
.end()
)
;
);
在此大呼一声:STL大法好!
你们最喜欢的代码:
#include //文件头
using namespace std;
string a; //定义字符串
int main()
{cin>>a; //输入reverse(a.begin(),a.end()); //反转cout<
利用字符串进行处理
我们先来认识一下c++的字符串string,这个类型相当于c中char[],和char一样,string也可以用数组表示多个字符串,即string a[]。接下来看看常见的几个string类型操作:
string a;//定义一个string类字符串。
int len=a.size()//读取串a的长度,注意此时a中字符下标是从0开始的。
有了这些,我们便可以反转了!
#include万能头文件
using namespace std;
string a;
signed main()
{cin>>a;int len=a.size();读取长度for(int i=len-1;i>=0;i--)反转cout<
常用的输入控制符有:
%d:读入一个 32 位有符号整数。
%u:读入一个 32 位无符号整数。
%lld:读入一个 64 位有符号整数。
%llu:读入一个 64 位无符号整数。
%f:读入一个 float 类型。
%lf:读入一个 double 类型。
跟上一道题看着很像,但是细节不太一样,一个是去处理浮点,(其中有用STL大法的和将小数点前后和小数点分开进行输入的还有利用字符串的读写来处理的)下面这个是去处理整数
## 题目描述给定一个整数 $N$,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。## 输入格式一个整数 $N$。## 输出格式一个整数,表示反转后的新数。## 样例 #1### 样例输入 #1
123
### 样例输出 #1
321
## 样例 #2### 样例输入 #2
-380
### 样例输出 #2
-83
## 提示**【数据范围】**$-1,000,000,000\leq N\leq 1,000,000,000 $。noip2011 普及组第一题
#include
using namespace std;
int n,m=0;//当时看题解时忽略了这一个0,导致想了半天
int main(){cin>>n;while(n){ //判断是否反转结束m=m*10+n%10; //取原数的最后一位补到结果后面n/=10; //最后一位可以丢掉了}cout<
样例分析:
第一个123输入后输出变为321
先进入while中 while不等于0那么并不会跳出循环,下来进入while循环中去,其中n=123对10取余后可得3,那么m=10m+3,m等于3。下来进入while中后n变为12,然后进入循环之中去,m=30+2=32 下来进入while中后n变为1,然后进入循环之中去,m=320+1+321 之后n=0,跳出循环输出m
第二个-380输入后输出变为-83
先进入while中 while不等于0那么并不会跳出循环,下来进入while循环中去,其中n=-380对10取余后可得0,那么m=10m+0,m等于0。下来进入while中后n变为-38,然后进入循环之中去,m=0+8=8 下来进入while中后n变为-3,然后进入循环之中去,m=-80+3=-83 之后n=0,跳出循环输出m
## 题目描述一个三角形的三边长分别是 $a$、$b$、$c$,那么它的面积为 $\sqrt{p(p-a)(p-b)(p-c)}$,其中 $p=\frac{1}{2}(a+b+c)$。输入这三个数字,计算三角形的面积,四舍五入精确到 $1$ 位小数。## 输入格式第一行输入三个实数 $a,b,c$,以空格隔开。## 输出格式输出一个实数,表示三角形面积。精确到小数点后 $1$ 位。## 样例 #1### 样例输入 #1```
3 4 5
```### 样例输出 #1```
6.0
```## 提示数据保证能构成三角形,$0\leq a,b,c\leq 1000$,每个边长输入时不超过 $2$ 位小数。
一道基础计算题,注意所有变量类型都为double。
唯一涉及到的知识点就是
sqrt:这是一个求根函数,在函数内填上数字或变量,这个函数就会自动返回求根后的值。
最后用printf输出,注意用.1lf返回,因为是保留一位小数。
Code:
#include
using namespace std;
double a,b,c,p,ans;
int main()
{cin>>a>>b>>c;p=(a+b+c)/2;ans=sqrt(p*(p-a)*(p-b)*(p-c));printf("%.1lf",ans);return 0;
}
## 题目描述伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 $24$ 小时制计算),它发现自己从 $a$ 时 $b$ 分一直游泳到当天的 $c$ 时 $d$ 分,请你帮小鱼计算一下,它这天一共游了多少时间呢?小鱼游的好辛苦呀,你可不要算错了哦。## 输入格式一行内输入四个整数,以空格隔开,分别表示题目中的 $a, b, c, d$。## 输出格式一行内输出两个整数 $e$ 和 $f$,用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 $f$ 应该小于 $60$。## 样例 #1### 样例输入 #1```
12 50 19 10
```### 样例输出 #1```
6 20
```## 提示对于全部测试数据,$0\le a,c \le 24$,$0\le b,d \le 60$,且结束时间一定晚于开始时间。
首先肯定硬算小时数和分钟数,即c-a和d-b。
但是d
no no no,我当然会处理。
如果d
#include
小玉买文具
## 题目描述班主任给小玉一个任务,到文具店里买尽量多的签字笔。已知一只签字笔的价格是 $1$ 元 $9$ 角,而班主任给小玉的钱是 $a$ 元 $b$ 角,小玉想知道,她最多能买多少只签字笔呢。## 输入格式输入只有一行两个整数,分别表示 $a$ 和 $b$。## 输出格式输出一行一个整数,表示小玉最多能买多少只签字笔。## 样例 #1### 样例输入 #1```
10 3
```### 样例输出 #1```
5
```## 提示#### 数据规模与约定对于全部的测试点,保证 $0 \leq a \leq 10^4$,$0 \leq b \leq 9$。
直接转换成角进行运算就都是整数了
#include//万能头文件
using namespace std;
int a,b,c,d,e,f,g;//教大家一个小技巧,将变量定义在这里可以让变量初始值为0。
int main(){
cin>>a>>b;
c=a*10+b;
cout<
1002 排列式 7254是一个不寻常的数,因为它可以表示为7254 = 39 x 186,这个式子中1~9每个数字正好出现一次输出所有这样的不同的式子(乘数交换被认为是相同的式子)结果小的先输出;结果相同的,较小的乘数较小的先输出。#include
#include
//next_permutation(),返回大于等于当前序列的全排列
using namespace std;
/*
样例输出中乘积都是四位数,四位数=一位数*四位数或者两位数*三位数
全排列,把所有顺序都走一遍,符合条件的打印
*/
//判断情况是否成立,即因子相乘是否==预设乘积res,符合即输出
void res_lr(int preres,int l,int r){//输出函数 if(preres == l * r){cout << preres << " = " << l << " x " << r << endl;}
}
void f1(int a[]){//乘积数int res;//l1 - 一位数因子 / r1- 四位数因子int l1,r1;//l2 - 两位数因子 / r2 - 三位数因子int l2,r2;//循环不断做枚举操作,使用do -while不漏掉第一个顺序do{//4位数=1位数*4位数的情况res = a[0] * 1000 + a[1] * 100 + a[2]* 10 + a[3];l1 = a[4];r1 = a[5] * 1000 + a[6]*100+a[7]*10+a[8];res_lr(res,l1,r1);//4位数= 2位数*3位数的情况res= a[0] * 1000 + a[1] * 100 + a[2]* 10 + a[3];l2 = a[4]*10 + a[5];r2 = a[6] * 100 + a[7] * 10 + a[8];res_lr(res,l2,r2); }while(next_permutation(a,a+9));
}
int main(){//定义从1到9的数组,使用next_permutation(a,a+9)做全排列int t[9] = {1,2,3,4,5,6,7,8,9}; f1(t);return 0;
}
1003 小飞机KiKi学会了printf在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。#include
using namespace std;
int main(){printf(" ** \n");printf(" ** \n");printf("************\n");printf("************\n");printf(" * * \n");printf(" * * \n");return 0;
}
1004 学姐的“Helloworld!”zafu又迎来了新一届的小可爱们,19级的大家突然变成了学长学姐。在这些学长学姐中,有那么一位备受欢迎的学姐,她各个方面都非常优秀,但是就是对编程提不起兴趣。上学期的时候学姐决定从头开始复习C语言,刷起了PTA上的习题集,可是第一题的输出"Hello world!"她就做错了,输出成了"Helo word!"。为了安慰这位可爱的学姐,学弟学妹们请同样输出"Helo word!"来告诉学姐不止她一个人会犯这个错。#include
using namespace std;
int main(){printf("Helo word!\n");return 0;
}
1005 乘法表输出九九乘法表,输出格式见样例。#include
using namespace std;
int main(){int i,j;for(i=1;i<=9;i++){//外层循环,控制行数 for(j=1;j//内层循环,控制从1开始 printf("%d*%d=%2d ",j,i,j*i);}printf("%d*%d=%2d\n",j,i,j*i);
}return 0;
}
1006 KiKi学程序设计基础
BoBo老师教了KiKi学习程序设计基础,他知道C++是带类的C语言,这个“++”主要包含三部分内容:对C语言进行语法上的扩展、面向对象(封装、继承和多态),STL(即模板)。这学期KiKi学习了C和C++,学好他们,其他编程语言都可以很轻松掌握。C和C++的输入有区别,请帮KiKi输出C和C++输出Hello world的代码。#include
using namespace std;
int main(){printf("printf(\"Hello world!\\n\");\n") ;printf("cout << \"Hello world!\" << endl;");return 0;
}
1007 疫情死亡率请根据各国报告的疫情确诊数和死亡数,计算新冠疫情在各国的死亡率。#include
#include
#include
using namespace std;
int main(){double a,b;cin >> a >> b;double c=100 * b/a;printf("%.3lf%%",c);return 0;
}
1008 爱因斯坦的名言初出茅庐的小伙伴们,你们对编程了解多少?希望你们记住爱因斯坦的这句名言,好好学习,天天向上。#include
using namespace std;
int main(){printf("\"Genius is 1%% inspiration and 99%% perspiration.\"");return 0;
}
1009 字符串输出1.0Mo2学长给大家发福利了,请大家将“Welcome to ACM / ICPC!”重复输出三次;#include
#include
using namespace std;
int main(){printf("Welcome to ACM / ICPC!\n");printf("Welcome to ACM / ICPC!\n");printf("Welcome to ACM / ICPC!");return 0;
}
1010 牛牛学说话之-整数牛牛刚刚出生,嗷嗷待哺,一开始他只能学说简单的数字,你跟他说一个整数,他立刻就能学会。输入一个整数,输出这个整数。#include
#include
using namespace std;
int main(){int a;scanf("%d",&a);printf("%d",a);return 0;
}
1011 牛牛学说话之-浮点数 会说整数之后,牛牛开始尝试浮点数(小数)输入一个浮点数,输出这个浮点数。#include
#include
using namespace std;
int main(){float a;scanf("%f",&a);printf("%.3f",a);
// printf("Welcome to ACM / ICPC!");return 0;
}
1012 牛牛学加法给你两个整数,要求输出这两个整数的和#include
#include
using namespace std;
int main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a+b);return 0;
}
1013 牛牛学除法 输入两个整数a, b, 输出a/b的值,只保留整数部分#include
#include
using namespace std;
int main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a/b);return 0;
}
1014 牛牛学取余输入两个整数a, b, 输出a 除以b的余数,5除以2的余数为1,10除以4的余数为2#include
#include
using namespace std;
int main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a%b);return 0;
}
1015 浮点除法输入两个整数a, b, 输出a除以b的值,保留三位小数#include
#include
using namespace std;
int main(){int a,b;scanf("%d%d",&a,&b);printf("%.3f",a/(b*1.0));return 0;
}
1016 计算带余除法给定两个整数a和b (0 < a,b < 10,000),计算a除以b的整数商和余数。#include
#include
using namespace std;
int main(){int a,b;scanf("%d %d",&a,&b);printf("%d %d",a/b,a%b);return 0;
}
1017 水题再次来袭:明天星期几
今天星期一,明天必然星期二。这是肯定不变的规律。如果我告诉大家,今天礼拜几,你能帮我推算出明天星期几吗? 已知,我们对于星期几的日期(周一到周日)简写如下: 1,2,3,4,5,6,7#include
#include
using namespace std;
int main(){int a;scanf("%d",&a);if(a>=1 && a<=6)printf("%d",a+1);elseprintf("%d",(a+1)%7);return 0;
}
1018 开学?小S:终于可以开学啦!好开心啊!小Y:你没看新闻吗,开学日期又延后了。小S:NOOOOOOOOOOOOOOOO!小S知道原计划星期X开学,通知开学时间延期N天,请问开学日期是星期几(星期日用7表示)?#include
#include
using namespace std;
int main(){int x,n;scanf("%d %d",&x,&n);//(1≤X≤7, 1≤N≤1000)if((x+n)%7 < 7&&(x+n)%7 >= 1)printf("%d",(x+n)%7);else//能被7整除 printf("7"); return 0;
}
1019 helloworld大家c语言的学的第一个程序应该就是输出hello world,我们知道每一个字符都有一个ASCII码,请你输出hello world每一个字符的ASCII码+1对应的那个字符.比如a对应ASCII码的下一个字符是b.#include
#include
#include
#include
#include
#include
#include
using namespace std;
int main(){string s="hello world";int i;for(i=0;ichar c=s[i];char d=s[i]+1;cout << d;}return 0;
}1020 a+b输入两个十进制的a,b.输出a+b的十六进制表示.#include
#include
#include
#include
#include
#include
#include
using namespace std;
int main(){int a,b;cin >> a >> b;int c=a+b;//输出c的十六进制表示char arr[100];//存储十六进制的各个位数char x; int y,k=0;if(c==0){cout << 0 << endl;} else{while(c){//当商不为0时 y=c%16;if(y<10){arr[k++]='0'+y; }else{arr[k++]='a'+y-10;}c=c/16;}}for(int i=k-1;i>=0;i--)cout << arr[i];return 0;
}
1047 得不到的爱情Chranos是个数学天才。一天,有一个可爱的小女孩追求Chranos,他知道Chranos最喜欢当且仅当总质量为K克的时候的番茄炒蛋了。她希望通过美食俘获Chranos的胃,这样就一定可以和他在一起了吧!虽然小女孩有无限数量的食材,但是数学王国的番茄和蛋非常特殊,他们的质量分别为N克和M克。为了表现一颗完整的心、表达充足的爱意,所有的食材必须被用完。N和M都是正整数且互素,制作过程中既不会凭空增加质量,也不会凭空消失质量。Chranos不希望小女孩打扰他学数学。他发现,并不是所有番茄炒蛋都是可以被制作出来的。他想找出最大的不可以被制作出的总质量K来拒绝小女孩,这样Chranos就可以永远和数学在一起了!#include
#include
#include
#include
#include
#include
using namespace std;
int main(){//塞瓦维斯特定理:对于ax+by=c式子,//当a,b均大于1且a,b互为素数(最大公约数==1),//满足方程无整数解的c的最大值为a*b-a-b。//用int不行long n,m;cin >> n >> m;long k=n*m-n-m;cout << k << endl;return 0;版权声明:本文为CSDN博主「沐遥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44464741/article/details/129325719
人们在人生中需要做出许多选择,小到考虑晚上吃什么,大到决定高考志愿填报的学校。只有一次次选择后才能带来无限可能,我们要根据自己掌握的情况,做出最佳的选择。程序的执行也不是一成不变的,往往会要求程序能够在不同的场合下有不同的动作。这时就需要在代码中使用条件语句来做出不同的选择。比如说,登录洛谷网时,网站后台会将你提交的用户名和密码在后台数据库中看看是否匹配,如果能够匹配就登陆成功,否则就登陆失败。这一章就来介绍如何让程序做出选择。
https://www.luogu.com.cn/problem/solution/P2433
# 【深基1-2】小学数学 N 合一## 题目描述### 问题 1请输出 `I love Luogu!`### 问题 2这里有 $10$ 个苹果,小 A 拿走了 $2$ 个,Uim 拿走了 $4$ 个,八尾勇拿走剩下的所有的苹果。我们想知道:1. 小A 和 Uim 两个人一共拿走多少苹果?
2. 八尾勇能拿走多少苹果?现在需要编写一个程序,输出两个数字作为答案,中间使用空格分开。### 问题 3现在有 $14$ 个苹果。要均分给 $4$ 名同学,分不掉的苹果放回冰箱。请问:1. 每位同学能分得几个苹果?
2. 一共分出去多少苹果?
3. 把几个苹果放回冰箱?现在需要编写一个程序,输出三个数字作为答案,每个数字一行。### 问题 4现在有 $500$ 毫升的肥宅快乐水,要均分给 $3$ 名同学,每位同学可以分到多少毫升?请输出一个数字作为输出。保留 $6$ 位有效数字,且不使用科学计数法。### 问题 5甲列火车长 $260$ 米,每秒行 $12$ 米;乙列火车长 $220$ 米,每秒行 $20$ 米,两车相向而行,从两车车头相遇时开始计时,多长时间后两车车尾相离?已知答案是整数。### 问题 6一个长方形长宽分别是 $6 \text{ cm}$、$9 \text{ cm}$,求它的对角线长度($\text{cm}$)。直接使用 `cout` 输出。### 问题 7Uim 银行账户里面有 $100$ 元。经过了下面的操作:1. 往里面存了 $10$ 元;
2. 购物花掉了 $20$ 元;
3. 把里面的钱全部取出。请在每次操作后输出账户余额,并使用换行符隔开。### 问题 8当半径为 $r=5$,请输出圆的周长、面积和球体积。取 $\pi=3.141593$。请直接使用 `cout` 输出答案,每行一个数字。### 问题 9一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;第二天他也刚好吃了剩余桃子的一半,贪嘴多吃了一个;第三天他又刚好吃了剩下的桃子的一半,并贪嘴多吃了一个。第四天起来一看,发现桃子只剩下一个了。请问小猴买了几个桃子?### 问题 10洛谷的评测任务是单位时间内均匀增加的。$8$ 台评测机 $30$ 分钟可以刚好把评测队列中的程序评测完毕,$10$ 台评测机 $6$ 分钟可以刚好把评测队列中的程序评测完毕,请问几台评测机可以在 $10$ 分钟时刚好把评测队列中的程序评测完毕?### 问题 11小 A 跑步速度 $5 \text{ m/s}$,八尾勇跑步速度 $8 \text{ m/s}$,八尾勇在小 A 后面 $100 \text{ m}$,他们同时起跑,请问需要多长时间八尾勇可以追上小 A?输出一个数字表示答案,使用 `cout` 直接输出。### 问题 12大家都知道有 $26$ 个英文字母,其中 A 是第一个字母。现在请编程求出:1. M 是字母表中的第几个字母?
2. 第 $18$ 个字母是什么?输出一个数字和一个字母,使用换行隔开。### 问题 13小 A 有两块球形橡皮泥,一个半径是 $4$,一个半径是 $10$。他想把这两块橡皮泥揉在一起,然后塑造成一个正方体,请问这个正方体的棱长是多少?如果结果不是整数,则舍去小数点之后的数字。取 $\pi = 3.141593$。### 问题 14根据咕咕网校的预测,当课程定价为 $110$ 元时,会有 $10$ 人报名。如果课程价格每降低 $1$ 元,就会多 $1$ 名报名者(反之亦然)。如果希望总共能收到 $3500$ 元学费的话,那么应该定价多少呢?已知本题有两个答案符合要求,则取较小的那一个。如果这个答案不是整数,则需四舍五入精确到整数。## 输入格式输入一个正整数,表示第几个问题。## 输出格式根据所输入的问题编号,输出对应问题的答案。## 样例 #1### 样例输入 #1```
2
```### 样例输出 #1```
6 4
```## 提示请解决以下小学数学题。你可以提交答案,也可以写一个程序。对于本题来说,如果你不知道怎么输入,也可以这么抄:```
#include
// 填上你觉得需要的其他头文件
using namespace std;
int main() {int T;cin >> T;if (T == 1) {// 粘贴问题 1 的主函数代码,除了 return 0cout << "I love Luogu!";} else if (T == 2) {// 粘贴问题 2 的主函数代码,除了 return 0cout << 2 + 4 << " " << 10 - 2 - 4;} else if (T == 3) {// 请自行完成问题 3 的代码} else if (T == 4) {// 请自行完成问题 4 的代码} else if (T == 5) {// 请自行完成问题 5 的代码} else if (T == 6) {// 请自行完成问题 6 的代码} else if (T == 7) {// 请自行完成问题 7 的代码} else if (T == 8) {// 请自行完成问题 8 的代码} else if (T == 9) {// 请自行完成问题 9 的代码} else if (T == 10) {// 请自行完成问题 10 的代码} else if (T == 11) {// 请自行完成问题 11 的代码} else if (T == 12) {// 请自行完成问题 12 的代码} else if (T == 13) {// 请自行完成问题 13 的代码} else if (T == 14) {// 请自行完成问题 14 的代码}return 0;
}
```
总之,这题可以说是洛谷入门赛史上最难,最坑,最不容易AC的简单题了,反正在考场上本人调了一个小时才调出来,既然如此,发篇题解吐槽一下吧!Problem 1
这个没啥好说的,直接:cout << "I love Luogu!";
Problem 2
这个也是比较简单的问题,并且题目已经给你答案了,就不做过多注解了cout << 2 + 4 << " " << 10 - 2 - 4;
Problem 3
这个也是小学数学:14
÷
3
=
4
⋯
2
14÷3=4⋯2(既然是小学数学,那就按照小学的格式写吧)然后就迎刃而解了,分别是3,12,2Problem 4
这个题也不难,但是有一个超!级!大!坑!点!!!!保留6位有效数字6位有效数字!有效数字!!!!!
有效数字!!!!!有效数字包括整数部分和小数部分包括整数部分
包括整数部分500
÷
3
=
166.6666666
⋯
500÷3=166.6666666⋯前面的166也属于有效数字的一部分!所以这个题
不是保留6位小数
不是保留6位小数,
而是3位小数
而是3位小数!!!众所周知,printf是比cout快的,而且cout保留小数还要用iomanip里又臭又长的控制符,所以我们在这里就用cout啦!cout<
�
>
8
10>x>8,评测机你总不可能开半台吧,所以答案一定是9啊……我辛辛苦苦写的;牛吃草……白做了……Problem 11
这个又双叒叕是行程问题,这次是追及问题!,公式是:路程差
÷
速度差
=
追及时间
路程差÷速度差=追及时间很好理解!还可以类比刚才的相遇问题一起记!那就简单啦,记得转成doublecout<<1.0*100/3;
Problem 12
出题人都已经偏题偏到开普勒-452b行星了,这题不考数学,改考英语了!有点英语知识的都知道:答案分别是
13
13和
�
R当然你也可以利用int类型和char类型的转换做题:cout<<(int)('M'-'A')+1<
# 【深基2.习6】Apples Prologue / 苹果和虫子## 题目描述八尾勇喜欢吃苹果。她现在有 $m$($1 \le m \le 100$)个苹果,吃完一个苹果需要花费 $t$($0 \le t \le 100$)分钟,吃完一个后立刻开始吃下一个。现在时间过去了 $s$($1 \le s \le 10000$)分钟,请问她还有几个完整的苹果?## 输入格式输入三个**非负整数**表示 $m, t, s$。## 输出格式输出一个整数表示答案。## 样例 #1### 样例输入 #1```
50 10 200
```### 样例输出 #1```
30
```## 提示如果你出现了 RE,不如检查一下被零除?
题目还是挺简单的,但是要注意细节!首先,八尾勇吃了
s/t个苹果,那么问题就来了,第一个坑:如果t是0,那么八尾勇肯定能吃完所有的苹果,输出0,但是0又不能做除数,这种情况要特判。接着往下想,如果s是t的整数倍,那么八尾勇就吃了s/t个完整的苹果,剩下m−s/t个完整的苹果;如果s并不是是t的整数倍,八尾勇就吃了s/t个完整的苹果和一个残缺的苹果,那么就有+
1
s/t+1个苹果不完整了,剩下−
1
m−s/t−1个苹果。可是,第二个坑:说不定他在
s秒内就吃完了这堆苹果了呢,那么就没有剩下的苹果,输出0。上代码:#include//万能头文件
using namespace std;
int m,t,s;
int main()
{cin>>m>>t>>s;if(t==0)//特判t=0的情况{cout<<0<
# 【深基3.例3】闰年判断## 题目描述输入一个年份,判断这一年是否是闰年,如果是输出 $1$,否则输出 $0$。## 输入格式输入一个正整数 $n$,表示年份。## 输出格式输出一行。如果输入的年份是闰年则输出 $1$,否则输出 $0$。## 样例 #1### 样例输入 #1```
1926
```### 样例输出 #1```
0
```## 样例 #2### 样例输入 #2```
1900
```### 样例输出 #2```
0
```## 样例 #3### 样例输入 #3```
2000
```### 样例输出 #3```
1
```## 样例 #4### 样例输入 #4```
1996
```### 样例输出 #4```
1
```## 提示数据保证,$1582 \leq n \leq 2020$ 且年份为自然数。
//很水但是有时记不住
这题作为入门赛第2题,难度还是很水的。就让你判断n是否为闰年,是输出1,否则输出0。只需要理解闰年是什么就可以了。(自己问度娘去)判断闰年方法:是4的倍数但不是100的倍数,或者是400的倍数。参考代码:
#include
using namespace std;
int n;
int main()
{cin>>n;cout<<((n%4==0&&n%100!=0)||(n%400==0))?1:0;return 0;
}
# 【深基3.例5】洛谷团队系统## 题目描述在洛谷上使用团队系统非常方便的添加自己的题目。如果在自己的电脑上配置题目和测试数据,每题需要花费时间 $5$ 分钟;而在洛谷团队中上传私有题目,每题只需要花费 $3$ 分钟,但是上传题目之前还需要一次性花费 11 分钟创建与配置团队。现在要配置 $n$ 道题目,如果本地配置花费的总时间短,请输出 `Local`,否则输出 `Luogu`。## 输入格式输入一个正整数 $n$,表示需要配置的题目量。## 输出格式输出一行,一个字符串。如果本地配置花费的总时间短,请输出 `Local`,否则输出 `Luogu`。## 样例 #1### 样例输入 #1```
2
```### 样例输出 #1```
Local
```## 样例 #2### 样例输入 #2```
50
```### 样例输出 #2```
Luogu
```## 提示数据保证 $1 \leq n\leq 100$。
#include
using namespace std;
int a;//a是题目数
int main(){cin>>a;if(a*5<=a*3+11){//判断谁大谁小cout<<"Local"<cout<<"Luogu"<
# [NOIP2004 普及组] 不高兴的津津## 题目描述津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。## 输入格式输入包括 $7$ 行数据,分别表示周一到周日的日程安排。每行包括两个小于 $10$ 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。## 输出格式一个数字。如果不会不高兴则输出 $0$,如果会则输出最不高兴的是周几(用 $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 数据
#include
#include
#include
using namespace std; //作为新手的我会的都写上
int main ()
{int a,b,s,max=0,i,day=0; //a,b是我们津津(以下简称JJ)每天上课时间,s意为sum是上课时间之和 for (i=1;i<8;i++) // i为循环变量,day是JJ一周最不高兴的一天 {cin>>a>>b; //输入a,b s=a+b; //计算一天的上课时间 if ((s>max)&&(s>8)) max=s,day=i; //在超过8小时且比之前几天都大的s时,将s赋给最大值,并记录下JJ的这天 }cout<
# 小玉家的电费## 题目描述夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电 [2006]27 号规定,月用电量在 $150$ 千瓦时及以下部分按每千瓦时 $0.4463$ 元执行,月用电量在 $151\sim 400$ 千瓦时的部分按每千瓦时 $0.4663$ 元执行,月用电量在 $401$ 千瓦时及以上部分按每千瓦时 $0.5663$ 元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。## 输入格式输入一个正整数,表示用电总计(单位以千瓦时计),不超过 $10000$。## 输出格式输出一个数,保留到小数点后 $1$ 位(单位以元计,保留到小数点后 $1$ 位)。## 样例 #1### 样例输入 #1```
267
```### 样例输出 #1```
121.5
```
#include
#include
#include
#include
#include
using namespace std;
int main()
{double s;//双精度浮点数int n;cin>>n;if (n>400)s=150*0.4463+250*0.4663+(n-400)*0.5663;elseif (n>150)s=150*0.4463+(n-150)*0.4663;elses=n*0.4463;
//s为未四舍五入的电费cout<
# 小鱼的航程(改进版)## 题目背景## 题目描述有一只小鱼,它平日每天游泳 $250$ 公里,周末休息(实行双休日),假设从周 $x$ 开始算起,过了 $n$ 天以后,小鱼一共累计游泳了多少公里呢?## 输入格式输入两个正整数 $x,n$,表示从周 $x$ 算起,经过 $n$ 天。## 输出格式输出一个整数,表示小鱼累计游泳了多少公里。## 样例 #1### 样例输入 #1```
3 10
```### 样例输出 #1```
2000
```## 提示数据保证,$1\le x \le 7$,$1 \le n\le 10^6$。
这道题目挺简单的,就看你有没有仔细审题。天数都那么大了,总路程还会小吗???嘿嘿嘿。#include //包含了所有C++头文件的头文件
using namespace std;
int main()
{unsigned long long n,ans=0; //坑就坑在这儿。天数都那么大了,总路程还会小吗???int x;cin >> x >> n; //输入星期和持续天数for(int i=0;iif((x!=6)&&(x!=7)) //只要星期不等于6和7ans += 250; //总长度增加250if(x==7) //当x等于7的时候x=1; // x归位为1else //其他情况下(x不等于7的时候)x++; //x自加1}cout << ans; //输出总路程return 0;
}
# [NOIP2008 普及组] ISBN 号码## 题目描述每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 $9$ 位数字、$1$ 位识别码和 $3$ 位分隔符,其规定格式如 `x-xxx-xxxxx-x`,其中符号 `-` 就是分隔符(键盘上的减号),最后一位是识别码,例如 `0-670-82162-4`就是一个标准的 ISBN 码。ISBN 码的首位数字表示书籍的出版语言,例如 $0$ 代表英语;第一个分隔符 `-` 之后的三位数字代表出版社,例如 $670$ 代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。识别码的计算方法如下:首位数字乘以 $1$ 加上次位数字乘以 $2$ ……以此类推,用所得的结果 $ \bmod 11$,所得的余数即为识别码,如果余数为 $10$,则识别码为大写字母 $X$。例如 ISBN 号码 `0-670-82162-4` 中的识别码 $4$ 是这样得到的:对 `067082162` 这 $9$ 个数字,从左至右,分别乘以 $1,2,\dots,9$ 再求和,即 $0\times 1+6\times 2+……+2\times 9=158$,然后取 $158 \bmod 11$ 的结果 $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 普及组第一题
https://www.luogu.com.cn/problem/solution/P1055#include //代码简洁明了(个人观点)
int main(void){char a[14], mod[12] = "0123456789X"; //先将mod11后的十一个字符存入数组gets(a); //输入字符串int i, j = 1, t = 0;for(i = 0; i < 12; i++) {if(a[i] == '-') continue; //字符串为分隔符‘-’时跳过此次循环进入下一次循环t += (a[i]-'0')*j++; //t储存 第j个 数字 * j 的和}if(mod[t%11] == a[12]) printf("Right");else {a[12] = mod[t%11]; //若识别码错误,则赋正确的识别码,然后输出puts(a);}return 0;
}