下次准备写py 和 c++两种版本

分两种情况,一种含有0,一种不含有0,简单模拟
C++
- #include
- #define ll long long
- using namespace std;
- int cnt[10]={6,2,5,5,4,5,6,3,7,6};
- int main(){
- int n;cin>>n;
- int ans=0;
- n-=4;
- //不考虑存在0的情况
- for(int i=1;i<=1111;i++){
- for(int j=1;j<=1111;j++){
- int t=0,temi=i,temj=j,tem=i+j;
- while(temi){ t+=cnt[temi%10];temi/=10; };
- while(temj){ t+=cnt[temj%10];temj/=10; };
- while(tem){ t+=cnt[tem%10];tem/=10; };
- if(t==n)ans++;
- }
- }
- if(n%2==0){
- int k=(n-6)/2;0i
- //考虑0+0=0
- if(k==6)ans++;
- for(int i=1;i<11111;i++){
- int tem=i,t=0;
- while(tem){ t+=cnt[tem%10];tem/=10; }
- if(t==k)ans+=2;
- }
- }
- cout<
- return 0;
- }
python
TLE 代码,应该优化一下可以过,但是主要是练py语法,懒得改了
- n=int(input())-4
- ls =[6,2,5,5,4,5,6,3,7,6]
- ans=0;
- #不考虑存在0的情况
- for i in range(1,111):
- for j in range(i,111):
- t = 0
- t += sum([ls[q] for q in list(map(int,list(str(i))))])
- t += sum([ls[q] for q in list(map(int,list(str(j))))])
- t += sum([ls[q] for q in list(map(int,list(str(i+j))))])
- if t==n :
- if i==j : ans+=1
- else : ans+=2
- #考虑存在0的情况
- if n%2 == 0 :
- k=(n-6)/2
- #考虑0+0=0
- if k==6 :
- ans+=1;
- for i in range(1,1112) :
- t = 0
- t += sum([ls[q] for q in list(map(int,list(str(i))))])
- if t==k :
- ans+=2
- print(ans)
B-[NOIP2014]珠心算测试
先排序,从最大数遍历,第三个数通过st[]优化运时

C++
- #include
- #define ll long long
- using namespace std;
- int a[110],st[10010];
- int main(){
- int n,cnt=0;cin>>n;
- for(int i=0;i
- cin>>a[i];
- st[a[i]]=1;
- }
- sort(a,a+n);
- for(int i=n-1;i>=2;i--){
- for(int j=i-1;j>=0;j--){
- if( st[a[i]-a[j]] ){ cnt++; break; }
- }
- }
- cout<
- return 0;
- }
python
- n=input()
- ls=list(map(int,input().split()))
- cnt=0
- for i in range(len(ls)):
- for j in range(i+1,len(ls)):
- if ls[j]>ls[i]:
- temp=ls[i]
- ls[i]=ls[j]
- ls[j]=temp
- for i in range(0,len(ls)):
- flag=0
- for q in range(i+1,len(ls)):
- for p in range(q+1,len(ls)):
- if ls[i]==ls[p]+ls[q]:
- flag=1
- if flag==1 :
- cnt+=1
- print(cnt)
C-[NOIP2009]多项式输出
真的写了好多遍这题了...(两种解法:1.按项讨论;2.按每项分为符号 系数...)

- #include
- #define ll long long
- using namespace std;
- int a[110];
- int main(){
- int n;cin>>n;
- for(int i=n;i>=0;i--)cin>>a[i];
- for(int i=n;i>=0;i--){
- if(a[i]==0)continue;
-
- if(a[i]<0)cout<<'-';
- else if(i!=n && a[i]>0)cout<<'+';
-
- if(i==0)cout<<abs(a[i]);
- else if(abs(a[i])!=1)cout<<abs(a[i]);
-
- if(i>=1)cout<<'x';
-
- if(i!=1 && i!=0)cout<<'^'<
- }
- return 0;
- }
D-[NOIP2012]质因数分解
水题

- #include
- #define ll long long
- using namespace std;
- int main(){
- int n,p;cin>>n;
- for(int i=2;i
- if(n%i==0){p=i;break;}
- cout<
- return 0;
- }
E-[NOIP2001]数的计算
简单dp(递推也行):f[i]=1+f[i/2]+f[i/2-1]+...+f[1]
解析:每个自然数左边可以加上小于他一半的数的所有的满足性质的数(f[i/2]+f[i/2-1]+...+f[1]),或者不加(+1)

- #include
- #define ll long long
- using namespace std;
- int f[1010];
- int main(){
- int n;cin>>n;
- f[1]=1;
- for(int i=2;i<=n;i++){
- f[i]=1;
- for(int j=1;j*2<=i;j++)
- f[i]+=f[j];
- }
- cout<
- return 0;
- }
-
相关阅读:
国产麒麟、uos在线编辑word文件并控制编辑区域(局部编辑)
linux PVE安装
Jetson orin nano配置深度学习环境
虹科方案 | 从概念到生产的自动驾驶软件在环(SiL)测试解决方案
【权限管理项目总结】SpringBoot+MyBatis+Shiro+EhCache+Thymeleaf:编码+功能测试+知识点
uni-app 背景音频 熄屏或者退回桌面之后不在播放
JDK8和JDK17共存以及切换
RMAN-06217: not connected to auxiliary database with a net service name
无涯教程-JavaScript - ISPMT函数
L2-024 部落
-
原文地址:https://blog.csdn.net/m0_64839851/article/details/126562340