- C++
8月day04解析
- @ 2024-8-8 15:03:32
第一天 多项式输出
每一项和前一项的区别 an*x^n an-1*x^n-1
分三个模块 n~2 正常输出 1 输出1个x 0 没有 x
系数 有负的一定输出- 正数系数 要注意是不是第一项 第一项没有+
cin>>n; 输入的项数系数 一定是固定的 能+个
int a;
for(int i=n;i>=0;i--){ //次幂 也是项数
cin>>a;
//结合当前a的情况 和 i的情况
if(a<0) cout<<"-"; //一定有-
if(a>0 && i!=n) cout<<"+";//不是第一项就要输出+
if(abs(a)>1 || i==0 && abs(a)>0 ) cout<<abs(a);
if(i>1&&a!=0) cout<<"x^"<<i; //如果不是第一项并且不为 0 就有x次幂输出
if(i==1&&a!=0) cout<<"x";//a 不为0的倒数第二项
}
第二题
A~Z
A~Z
对应可以相同 , 但只能一对一 ,26个没找齐,
第一步 破译 有可能成功
失败
ABC
CBA
AAAAD
1 A~Z必须有相应的秘密 否则 F
2 如果同一个秘密 重复了 F
3 一个秘密不能给多个祖母使用 F
char char 有没有被改过
int c[27],
bool a[27] , b[27] ; //没被用过 也没用过 就可以存到C里构建对应关系
x y z x加密的 y原信息 z要翻译
遍历x
for(0 x.size()){
//密字是否用过 和 原信息中的字母有没有相应的米子
//满足两边都没用过 存起来 ->c
cnt++;
}
伪代码
string a m y
bool check[]; //记录有没有26个都找了
cin>>m>>y>>a; //密文 原文 要翻译的
falg = 1;
for(0~m.size()-1;i++){
for(0~m.size()-1;i++){
//密文和原文要一一对应
if( (m[i]==m[j]&&y[i]!=y[j])
|| (m[i] ! = m[j] && y[i]==y[j])
) flag = 0;//不行了
}
check[y[i]-'A'] = 1;
}
for(0~25){//统计找没找够
if(check[i] == 0) flag=0;
}
if(falg = 1){
for(i 0~a.size){
for(j 0~m.size){
if(a[i]==m[j]){
cout y[j];
break;
}
}
}
} else
cout 输出F
3 条评论
-
zhangrundong LV1 筑基期 LV 2 @ 2024-8-8 16:57:30#include<bits/stdc++.h> #pragma GCC optimize(3) using namespace std; char v[27]={'A','B','C','D','E','F','G','H','I','J','K','L', 'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; int a_[100],b_[100]; int r[100]; int main(){ freopen("spy.in","r",stdin); freopen("spy.out","w",stdout); int flag=0,panduan=0; string a,b,c,da; cin>>a>>b>>c; long long alen=a.size(),blen=b.size(),clen=c.size(); for(int i=0;i<alen;i++){ for(int j=0;j<26;j++){ if(a[i]==v[j]) a_[j]++; } } for(int i=0;i<26;i++) if(a_[i]==0){flag=1;} for(int i=0;i<blen;i++){ for(int j=0;j<26;j++){ if(b[i]==v[j]) b_[j]++; } } for(int i=0;i<26;i++) if(b_[i]==0){flag=1;} for(int i=0;i<alen;i++){ for(int j=0;j<alen;j++){ if(a[i]!=a[j]&&b[i]==b[j]||a[i]==a[j]&&b[i]!=b[j]) flag=1; } } for(int i=0;i<clen;i++){ int d=0; string t; for(int j=0;j<alen;j++){ if(c[i]==a[j]){ da+=b[j]; break; } } } if(flag==1) cout<<"Failed"; else cout<<da; return 0; } -
@ 2024-8-8 15:07:25#include<bits/stdc++.h> using namespace std; int n,a; int main(){ freopen("poly.in","r",stdin); freopen("poly.out","w",stdout); cin>>n; int f=n; for(int i=n;i>=0;i--){ cin>>a; if(a<0) cout<<"-"; if(a>0 && i!=n) cout<<"+"; if(abs(a)>1 || i==0 && abs(a)>0) cout<<abs(a); if(i>1 && a!=0) cout<<"x^"<<i; if(i==1 && a!=0) cout<<"x"; } return 0; }🤡 4👀 2 -
@ 2024-8-8 15:05:46本人已WAAC请放心参考!#include <bits/stdc++.h> using namespace std; int main(){ freopen("poly.in", "r", stdin); freopen("poly.out", "w", stdout); int n;cin >> n; for(int i=n;i>=0;i--){ int a;cin >> a; if(a<0) cout << '-'; if(a>0&&i!=n) cout << '+'; if(abs(a)>1||i==0&&abs(a)>0) cout << abs(a); if(i>1&&a!=0) cout << "x^" << i; if(i==1&&a!=0) cout << "x"; } return 0; }🤡 6🤣 3👀 1🕊️ 1
- 1