CPE Practice

content

10035 Primary Arithmetic

Problem

Code
#include <iostream> using namespace std; int main(){ int a, b; while(cin>>a>>b && (a!=0 || b!=0)){ int ans = 0; int next = 0; while(a>0 || b>0){ if((a%10 + b%10 + next)>=10){ next=1; ans++; }else{ next=0; } a/=10; b/=10; } if(ans==0){ cout<<"No carry operation.\n"; }else if(ans==1){ cout<<"1 carry operation.\n"; }else{ cout<<ans<<" carry operations.\n"; } } return 0; }

10041 Vito's Family

Problem

Code
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ int n,r,s; vector<int> num; cin>>n; while(n--){ cin>>r; num.clear(); for(int i=0; i<r; i++){ cin>>s; num.push_back(s); } sort(num.begin(), num.end()); int mid = num[r/2]; int sum=0; for(int i=0; i<r; i++){ sum += abs(num[i]-mid); } cout<<sum<<endl; } return 0; }

vector

#include <vector> vector<int> vec

vec.clear() - 清空所有元素。
vec.push_back() - 新增元素至 vector 的尾端,必要時會進行記憶體配置。
vec.pop_back() - 刪除 vector 最尾端的元素。
vec.insert() - 插入一個或多個元素至 vector 內的任意位置。
vec.erase() - 刪除 vector 中一個或多個元素。

10055 Hashmat the Brave Warrier

Problem

Code
#include <iostream> #include <cstdlib> using namespace std; int main(){ long long int a, b; while(cin>>a>>b){ cout<<abs(a-b)<<endl; } return 0; }

abs()

#include <cstdlib> abs(num1-num2);

00100 The 3n+1 Problem

Problem

Code
#include <iostream> using namespace std; int count(int n){ int s=1; while(n!=1){ if(n%2 == 1){ n=n*3+1; }else{ n/=2; } s++; } return s; } int main(){ int a, b; while(cin>>a>>b){ int ans = 0; for(int i=min(a,b); i<=max(a,b);i++){ if(count(i)>ans){ ans = count(i); } } cout<<a<<" "<<b<<" "<<ans<<endl; } return 0; }

10929 You Can Say 11

problem
Code
#include <iostream> #include <string> using namespace std; int main(){ string s; while(cin>>s && s!="0"){ long long sum[2]={0,0}; for(int i=0; i<s.length(); i++){ sum[i%2]+=s[i]-'0'; } cout<<s<<" is "<<((sum[0]-sum[1])%11 ? "not ":"")<<"a multiple of 11.\n"; } return 0; }

boolean statement1 ? statement2 : statement3

#include <iostream> using namespace std; int main(){ int num1=5, num2=6; int max = num1>num2 ? num1 : num2; cout<<"max is "<<max<<endl; cout<<"min is "<<(num1>num2 ? num2 : num1)<<endl; return 0; }