首页 > 编程语言 >c++练习267题

c++练习267题

时间:2022-12-03 23:57:09浏览次数:44  
标签:24 sz 10 int 练习 c++ 267 一位数

*267题

原题传送门:http://oj.tfls.net/p/267

题解:

#include<bits/stdc++.h>
using namespace std;
int c,m;
int ans[30];
int sz[1005] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6, 8, };
// 这里对应 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, };
int main(){
cin>>m;
for (int i=11; i<=1000; i++){
sz[i]=sz[i/10]+sz[i%10];
}//这里通过前面的1-10来计算后面的11-1001
for (int i=0; i<1000; i++){//第一个加数

for (int j=0; j<1000-i; j++){//第二个加数

c=i+j;

ans[sz[i]+sz[j]+sz[c]+4]++;
}
}
cout<<ans[m];

return 0;

}

方法:我用的是两个数相加得第三个数,总共的火柴根数记录在数组里,每一个可能都计算一遍,需要哪一个直接调用

虽然数据比较全,但速度慢了很多

 

说明:这里我原本以为是三个一位数,就用了0-9来存取,和不大于9

后来一直爆零,就用原样输出看看数据和答案

#include<bits/stdc++.h>
using namespace std;
int main(){
int m;
cin>>m;
cout<<m;
return 0;
}

发现m=24时有高达128个答案,而两个一位数只有100种可能

于是我聪明的大脑立刻明白肯定不是一位数。

这里我原样输出,把它输入的原样输出,所以“读取到”的是输入,“应为”是正确答案,也算是取巧了吧,不过我保证没有按照答案写程序

 

然后我开始算更大的范围,从一位数扩展到两位数,再到四位数,在最大范围1005时满分通过

这个题还是很离谱的,要不是我范围够大,谁能想到m=24时,加数居然到了711!

 

 

这个是m=24的后边的一些结果,可以看到,范围真的离谱

 

第一次写博客,留个纪念

 

标签:24,sz,10,int,练习,c++,267,一位数
From: https://www.cnblogs.com/TC2105LJY/p/16949066.html

相关文章

  • C++
    通讯录管理系统1、系统需求通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中......
  • [自用]c++值传递和引用传递
    https://baijiahao.baidu.com/s?id=1702573193376441989&wfr=spider&for=pc总结:1.函数参数传递主要分为值传递和&引用传递,两种传递都是形参对实参的拷贝;2.直接点的用法......
  • C++图书购买系统
    C++图书购买系统该系统有两类用户,会员(多名)和管理员(1名)。其中,会员功能包括:1、首先注册并录入个人信息,包括:用户名,密码,生日,邮箱。注册后,自动设置会员编号,积分被自动......
  • ( Java 和 C++ 还是有差别)卑微地向API低下了头,但是反转字符串的单词依旧写了很久 学
    344.反转字符串-ezclassSolution{publicvoidreverseString(char[]s){intleft=0,right=s.length-1;chartmp;while(l......
  • 靶机练习: hacksudo---Thor
    靶机:hacksudo---Thor准备工作靶机地址:http://download.vulnhub.com/hacksudo/hacksudo---Thor.zipMD5校验:d1216820513fd7f96bca40c1459861c2SHA1检验:70b7fb9......
  • C++学习------csetjmp头文件的源码学习
    引言csetjmp是C++对setjmp.h头文件的封装,通过这个头文件提供的工具允许程序员通过提供执行跳转的方法来绕过正常的函数调用和返回规程,从而保留调用环境。其中定义了一些函数......
  • c++ - win开发环境控制台打印中文乱码-解决
    1.背景 win开发环境需要在控制台打印一些内容,发现是中文乱码2.解决再打印前,使用  windows.h包的  SetConsoleOutputCP方法,更改编码格式#include<windows.h>......
  • C/C++大学课程信息系统
    C/C++大学课程信息系统1.在界面上显示菜单,提示用户可进行的操作,包括以下操作:(1)添加功能(Add):添加一门课程的基本信息,包括课程编号、课程名称、课程性质(选修或必修)、......
  • C++ Primer 第5版 中文版 电子书 pdf
    C++Primer内容相对比较多,可以跳着看,重在实战,通过实战摸索、学习,而不是迷失在琐碎的细节中。关注公众号:后厂村搬砖工。回复:c++电子书即可   ......
  • python-练习(if for while语句)
    1.在终端中输入整数,打印正数,负数,零number=int(input("请输入整数"))ifnumber>0:print("正数")elifnumber<0:print("负数")else:print("零"......