B. Food Buying
题意:
一个人去花钱买东西,每花10元反1元,加入这个人有10元,那么这19元最多可以买的东西的价值为21元,问这个人带n元,最多可以买价值多少元的东西。
分析:
就题意中的问题分析,19元中可以先买一个10元的东西,那么就会返还1元,即这个人手中剩下9+1=10元,那么再买一个10元的东西,又会返还1元。那么他最多可以买价值19+1+1=21元的东西。这个问题其实很简单,先构造一个函数计算返还的钱一共多少,最后输出n+返还的钱。
代码:
#include"bits/stdc++.h"
using namespace std;
int fanhuan(int a){
int b,c,d;
b=a/10;
c=a%10;
if(b+c>=10){
d=b+c;
fanhuan(d);
b=b+fanhuan(d);
}
return b;
}
int main(){
int t,n;
cin>>t;
while(t--){
cin>>n;
int t2;
t2=fanhuan(n);
cout<<n+t2<<endl;
}
return 0;
}
二、多项式表示
- 一维数组直接表示
- 结构数组表示
3) 链表结构存储
三、线性表2
了解线性表长度、空表、表头、表尾等概念。
线性表抽象数据类型描述: