5 条题解
-
6
#include<bits/stdc++.h> using namespace std; int main() { string s; cin >> s; long long sum = 0; for (int i = 0;i < s.length();i++) { if (s[i] != '0') { if (s[i] >= '1' && s[i] <= '9') { sum += (s[i] - '0') * pow(16, s.length() - i - 1); } else if (s[i] == 'A') { sum += 10 * pow(16, s.length() - i - 1); } else if (s[i] == 'B') { sum += 11 * pow(16, s.length() - i - 1); } else if (s[i] == 'C') { sum += 12 * pow(16, s.length() - i - 1); } else if (s[i] == 'D') { sum += 13 * pow(16, s.length() - i - 1); } else if (s[i] == 'E') { sum += 14 * pow(16, s.length() - i - 1); } else if (s[i] == 'F') { sum += 15 * pow(16, s.length() - i - 1); } } } cout << sum; return 0; }
-
3
#include<iostream> #include<cmath> using namespace std; string n; long long a=0; int main(){ cin>>n; for(int i=n.length()-1,j=0;i>=0;i--,j++){ int t; switch(n[i]){ case 'A':t=10;break; case 'B':t=11;break; case 'C':t=12;break; case 'D':t=13;break; case 'E':t=14;break; case 'F':t=15;break; default:t=n[i]-'0'; } a+=t*pow(16,j); } cout<<a<<endl; return 0; }
思路和MOD的一样,但是可能更简洁吧 已AC
-
3
#include <bits/stdc++.h> using namespace std; int getnum(char c){ if(c>='0'&&c<='9')return c-'0'; else{ switch(c){ case 'A':return 10; case 'B':return 11; case 'C':return 12; case 'D':return 13; case 'E':return 14; case 'F':return 15; } } } int main(){ long long ans=0; string s; cin>>s; for(int i=0;i<s.length();i++)ans+=pow(16,s.length()-i-1)*getnum(s[i]); cout<<ans<<endl; return 0; }
-
2
#include<bits/stdc++.h> using namespace std; int main() { string s; cin >> s; long long sum = 0; for (int i = 0;i < s.length();i++) { if (s[i] != '0') { if (s[i] >= '1' && s[i] <= '9') { sum += (s[i] - '0') * pow(16, s.length() - i - 1); } else if (s[i] == 'A') { sum += 10 * pow(16, s.length() - i - 1); } else if (s[i] == 'B') { sum += 11 * pow(16, s.length() - i - 1); } else if (s[i] == 'C') { sum += 12 * pow(16, s.length() - i - 1); } else if (s[i] == 'D') { sum += 13 * pow(16, s.length() - i - 1); } else if (s[i] == 'E') { sum += 14 * pow(16, s.length() - i - 1); } else if (s[i] == 'F') { sum += 15 * pow(16, s.length() - i - 1); } } } cout << sum; return 0; }
-
2
#include<iostream> #include<cmath> #include<cstring> using namespace std; int main(void) { int n; int temp; char* arr = new char[9]; cin >> arr; n = strlen(arr); long long sum = 0; for (int i = 0; arr[i]!='\0'; i++) { switch (arr[i]) { case 'A': temp = 10; break; case 'B': temp = 11; break; case 'C': temp = 12; break; case 'D': temp = 13; break; case 'E': temp = 14; break; case 'F': temp = 15; break; default: temp = arr[i] - '0'; break; } sum = sum + temp * pow(16, n - 1- i); } cout << sum; return 0; }
- 1
信息
- ID
- 289
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 2
- 标签
- 递交数
- 334
- 已通过
- 195
- 上传者