- 题解
期末考试题解
- 2023-6-11 11:13:44 @
A
B
从上往下观察,第i层比第i - 1层多i,第一次有1
1:1
2:1 + 2
3:1 + 2 + 3
...
i: 1 + 2 + 3...+i
所以就算答案就是
C
数位分离,加起来判断
用while
就行数位分离
while(n)
{
cnt+=n%10;
n/=10;
}
特别注意n最大是所以int不够装
D
经典问题,假设法,但要注意是否整除2,必须是整数只 而且不能是负数只,做不出来不应该
E
有过视频讲解的,做不出来说明没理解
F
存储最大值下标即可,打完擂台最后交换
int max=n[0];
int j=0;
for(int i=1;i<a;i++){
if(n[i]>max){
max=n[i];
j=i;
}
}
swap(n[j],n[a-1]);//该函数就是交换两个数
G
第几天变形,求出第几天,假设是s 闰年:366 - s 平年:365 - s
int ping[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int run[12]={31,29,31,30,31,30,31,31,30,31,30,31};
if ((a%4==0&&a%100!=0)||(a%400==0))
{
int tian=366;
int h=0;
for(int i=0;i<b-1;i++)
{
h+=run[i];
}
h+=c;
cout<<tian-h;
}
else
{
int tian=365;
int h=0;
for(int i=0;i<b-1;i++)
{
h+=ping[i];
}
h+=c;
cout<<tian-h;
}
H
和金字塔一样,输出的是数字而已 视频有讲过输出金字塔
I
模拟该过程即可,细心点
J
防止有人全做出的题,后面会讲^-^
K
奥数 想想如果有4个是不是两个1是最大,贪心一下 尽可能凑出多个1,但是火柴必须用完奇数的时候,拿3根拼成7即可
if(n%2==0){
for(int i=1;i<=n/2;i++)cout<<1;
}
else {
cout<<7;
for(int i=1;i<n/2;i++)cout<<1;
}
0 条评论
目前还没有评论...