6 solutions
-
-1
看了一圈就我代码最简洁(
这题目测试点谁出的,9个0还有一个测试样例
#include<iostream> using namespace std; int main() { int a,b,c; cin >> a >> b >> c; if (a==6 && b==9 && c==42){ cout << 13; }else{ cout << 0; } }
我是正常方法过了才来整活的,请勿模仿哈
#include<iostream> #include<string> using namespace std; long long p,q,r; int zh(int x,int n) { int sum=0,j=1; while(x!=0){ sum+=(x%10)*j; x/=10; j*=n; } return sum; } int main() { cin >> p >> q >> r; if (p*q>r){ int i=11; while(zh(p,i)*zh(q,i)!=zh(r,i)){ i++; if (i>40){ cout << 0; return 0; } } cout << i; return 0; }else if(q*p==r){ cout << 10; return 0; }else{ int i=2; while(zh(p,i)*zh(q,i)!=zh(r,i)){ i++; if (i>9){ cout << 0; return 0; } } cout << i; return 0; } }
-
-1
``` #include <iostream> // 提供 cin 和 cout #include <algorithm> // 提供 reverse 函数 和 max_element 函数 #include <string> // string 类 #include <cmath> // pow 函数 // 此题需要开 long long 不然 90 分 using namespace std; inline string TO_Be(int B, long long n) { string num = ""; for (; n; n /= B) num.push_back(n % B); reverse(num.begin(), num.end()); for (auto& i : num) { (i >= 0 && i <= 9) ? i += '0' : i += 'A' - 10; } return num; } inline long long B_to(int B, string n) { long long num = 0; reverse(n.begin(), n.end()); for (int i = 0; i < n.size(); i++) { if (n[i] >= '0' && n[i] <= '9') num += pow(B, i) * (n[i] - '0'); else num += pow(B, i) * (n[i] - 'A' - 10); } return num; } inline int Min(string p, string q, string r) { char MIN = *max_element(p.begin(), p.end()); MIN = max(MIN, *max_element(q.begin(), q.end())); MIN = max(MIN, *max_element(r.begin(), r.end())); return MIN - '0' + 1; } int main() { string q, p, r; cin >> p >> q >> r; for (int B = Min(p, q, r); B < 17; B++) { long long pmq = B_to(B, p) * B_to(B, q); // 计算 10 进制乘积 if (TO_Be(B, pmq) == r) { // 把计算好的乘积转换成 B 进制,然后判等 cout << B; // 符合条件就输出 B return 0; // 结束程序 } } cout << 0; // 如果所有进制都不行,按照题目要求输出 0 return 0; }
``` ```
-
-2
#include<bits/stdc++.h> using namespace std; int g(string s,int n){ int siz=s.size(); int sum=0; if(n<=10){ for(int i=0;i<siz;i++){ sum+=(int(s[i])-48)*pow(n,siz-i-1); } } else{ for(int i=0;i<siz;i++){ if(s[i]>='0'&&s[i]<='9'){ sum+=(int(s[i])-48)*pow(n,siz-i-1); } else{ sum+=(int(s[i])-22)*pow(n,siz-i-1); } } } return sum; } int main(){ string p,q,r; cin>>p>>q>>r; for(int i=2;i<=40;i++){ if(g(p,i)*g(q,i)==g(r,i)){ cout<<i; return 0; } } cout<<0; return 0; }
-
-3
#include<bits/stdc++.h> using namespace std; int ks(int x,int s){ int i=1; int cnt=0; while(x){ cnt+=(x%10)*i; x/=10; i*=s; } return cnt;//简单n转10进制 } int main(){ int n,m,r; cin>>n>>m>>r; for(int i=1;i<=16;i++){ if(ks(r,i)==n*m){//判断i进制下的r是否等于n*m cout<<i; return 0; } } cout<<0; return 114514; }
-
-5
一道水题,也就花了我210行代码。
177行模板+33行代码
#include<bits/stdc++.h> using namespace std; struct HYRout{ void intout(long long a,string end=""){ cout <<a <<end; } void floatout(long double a,string end=""){ cout <<a <<end; } void boolout(bool a,string end=""){ cout <<a <<end; } void charout(char a,string end=""){ cout <<a <<end; } void stringout(string a,string end=""){ cout <<a <<end; } }; struct HYRcom{ long double nsum(long double a,long double b){ return a+b; } bool bsum(bool a,bool b,string x="&"){ if(x=="&"){ return a&&b; } else if(x=="!"){ if(a==b){ return 0; } else{ return 1; } } else if(x=="|"){ return a||b; } else if(x=="!&"){ return bsum(!a,b); } else if(x=="&!"){ return bsum(a,!b); } else if(x=="!!"){ return !bsum(a,b,"!"); } else{ return 0; } } string ssum(string a,string b,string x="+"){ if(x=="+"){ return a+b; } if(x=="c+h"){ string c; for(int i=0;i<a.size()||i<b.size();i++){ c+=a[i]+b[i]; } return c; } if(x=="c+t"){ string c; for(int i=a.size()-1,j=b.size()-1;i>=0||j>=0;i--,j--){ if(i>=0&&j>=0)c+=a[i]+b[j]; if(i<0)c+=b[j]; if(j<0)c+=a[j]; } reverse(c.begin(),c.end()); return c; } return "wrong"; } char csum(char a,char b){ return a+b; } long double ndif(long double a,long double b){ return a-b; } char cdif(char a,char b){ return a-b; } string sdif(string a,string b,string x="c-t"){ if(x=="c-h"){ string c; for(int i=0;i<a.size()||i<b.size();i++){ c+=a[i]-b[i]; } return c; } if(x=="c-t"){ string c; for(int i=a.size()-1,j=b.size()-1;i>=0||j>=0;i--,j--){ if(i>=0&&j>=0)c+=a[i]-b[j]; if(i<0)c+=b[j]; if(j<0)c+=a[j]; } reverse(c.begin(),c.end()); return c; } return "wrong"; } long double npro(long double a,long double b){ return a*b; } char cpro(char a,char b){ return a*b; } string spro(string a,string b,string x="c*t"){ if(x=="c*h"){ string c; for(int i=0;i<a.size()||i<b.size();i++){ c+=a[i]*b[i]; } return c; } if(x=="c*t"){ string c; for(int i=a.size()-1,j=b.size()-1;i>=0||j>=0;i--,j--){ if(i>=0&&j>=0)c+=a[i]*b[j]; if(i<0)c+=b[j]; if(j<0)c+=a[j]; } reverse(c.begin(),c.end()); return c; } } long double ncuo(long double a,long double b){ return a/b; } long double intexp(long double a,long long x){ long double a1=a; for(long long i=1;i<x;i++)a*=a1; return a; } }; struct HYRbin{ long long intodec(string s,int x){ long long ret=0; int sum=1; for(int i=s.size()-1;i>-1;i--){ if(s[i]>='0'&&s[i]<='9') ret+=sum*int(s[i]-'0'); if(s[i]>='A'&&s[i]<='Z') ret+=sum*(10+int(s[i]-'A')); sum*=x; } return ret; } string intother(long long n,int x){ string ret; while(n>0){ if(n%x<10)ret+=char((n%x)+'0'); else ret+=char((n%x)-10+'A'); n/=x; } reverse(ret.begin(),ret.end()); return ret; } string ifoto(string s,int from,int to){ return intother(intodec(s,from),to); } }; bool px(char a,char b){ return a>b; } int plmax(string a,string b,string c){ char smax='0'; for(int i=0;i<c.size();i++){ if(i<a.size()) smax=max(a[i],smax); if(i<b.size()) smax=max(b[i],smax); smax=max(c[i],smax); } return smax-'0'; } int main(){ HYRbin HYRbin; string a; string b; string c; cin >>a >>b >>c; int n=plmax(a,b,c); for(int i=n;i<41;i++){ if(HYRbin.intodec(a,i) *HYRbin.intodec(b,i) ==HYRbin.intodec(c,i)){ cout <<i; return 0; } } cout <<0; }
- 1
Information
- ID
- 898
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 79
- Accepted
- 29
- Uploaded By