hdu-page11(2040~2049)2046

林木子 林木子     2022-10-25     303

关键词:


//2040
#include<iostream>
#include<algorithm>
#define MAXN 100
using namespace std;
//判断a的所有的真约数之和是否等于b
int is_N(int a,int b)

int sum1 = 0;//记录a的真约数之和
for (int i = 1; i <= a/2; i++)

if (a%i == 0)

sum1 += i;


if (sum1 == b)
return 1;
else

return 0;


int main()

int m;
cin >> m;
int a, b;
while (m--)

cin >> a >> b;
//如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。
if (is_N(a,b)&&is_N(b,a))

cout << "YES" << endl;

else

cout << "NO" << endl;


return 0;

 

//2041
//思路:f1=0,f2=1;f3=2;m>2,fn=fn-1+fn-2,简单的递推
//直接递归调用会超时
/*ll recurrence(int m)

if (m==1)

return 0;

else if (m==2)

return 1;

else if (m==3)

return 2;

else

//递归调用
return recurrence(m - 1) + recurrence(m - 2);

*/
#include<iostream>
#include<algorithm>
#define MAXN 40
typedef long long ll;
ll f[MAXN];
using namespace std;
void setF()

int i;
f[1] = 0;
f[2] = 1;
f[3] = 2;
for (i = 4; i <= MAXN ; i++)

f[i] = f[i - 1] + f[i - 2];


int main()

int n;
int m;
cin >> n;
//别忘记调用这个函数。细节问题
setF();
while (n--)

cin >> m;
cout << f[m] << endl;

return 0;

 

//2042
//思路:和前面一道题十分类似,简单的倒着递推
#include<iostream>
#include<algorithm>
#define MAXN 31
int f[MAXN];
using namespace std;
int main()

int n;
cin >> n;
int a;
int i;
f[0] = 3;
f[1] = 4;
f[2] = 6;
for ( i = 3; i <= 30; i++)

f[i] = 2 * (f[i - 1] - 1);

while (n--)

cin >> a;

cout << f[a] << endl;

return 0;


//2043
#include<stdio.h>
#include<string.h>
#define MAXN 51
char str[MAXN];
int main()

int m;
scanf("%d",&m);
int count;
int flag1, flag2, flag3,flag4;//分别用来标记是不是含有某一组的字符
int i;
int len;
while (m--)

flag1 = 0;
flag2 = 0;
flag3 = 0;
flag4 = 0;
scanf("%s", str);
len = strlen(str);
if (!(len>=8&&len<=16))

printf("NO\n");
continue;

for (i = 0; i < len; i++)

if (str[i]>=‘A‘&&str[i]<=‘Z‘)

flag1 = 1;

else if (str[i]>=‘a‘&&str[i]<=‘z‘)

flag2 = 1;

else if (str[i]>=‘0‘&&str[i]<=‘9‘)

flag3 = 1;

else if (str[i]==‘~‘||str[i]==‘!‘||str[i]==‘@‘||str[i]==‘#‘||str[i]==‘$‘||str[i]==‘%‘==str[i]==‘^‘)

flag4 = 1;


//
if ((flag1 + flag2 + flag3 + flag4) >= 3)

printf("YES\n");

else

printf("NO\n");


return 0;

//2044
/*思路:从1到2 的可能路径(共1种):1->2;
从1到3的可能路径(共2种):1->2->3, 1->3;
从1到4的可能路径(共3种):1->2->3->4 ,1->3->4,1->2->4;
从1到5的可能路径(共5种):1->2->3->4->5,1->2->4->5,1->3->4->5,1->2->3->5,1->3->5
......
递推公式:f[n]=f[n-1]+f[n-2],注意的一点就是题目是a->b,所以看的是b-a,也就是相差的步数
*/
#include<stdio.h>
#include<string.h>
#define MAXN 51
typedef long long ll;
ll f[MAXN];
long long F(int a ,int b)

int n;
n = b - a;
f[1] = 1;
f[2] = 2;
if (n>2)

for (int i = 3; i < MAXN; i++)

f[i] = f[i - 1] + f[i - 2];


return f[n];

int main()

int n;
int i;
int a, b;
scanf("%d", &n);
while (n--)

scanf("%d%d", &a, &b);
printf("%lld\n",F(a,b));

return 0;

//2045
/*思路:用递推法,1)如果前n-1个格合法,则第一个格颜色和第n-1个格的颜色不同,则此时第n个格的颜色是只有一种可能颜色(因为和第一个格的颜色不能相同,还有和其相邻的第n-1格的颜色也不能相同)
2)如果前n-1个格不合法,第n-1个格和第一个格的颜色相同,且前n-2个格合法,第n格子不能和第n-1个格和第一个格相同,所以第n个格的选择有2种*/
#include<stdio.h>
#include<string.h>
#define MAXN 51
typedef long long ll;
ll f[MAXN];

void setTab()

int i;
f[1] = 3;
f[2] = 6;
f[3] = 6;
for ( i = 4; i < MAXN; i++)

f[i] = f[i - 1] + 2 * f[i - 2];

int main()

int n;
setTab();
while (~scanf("%d",&n))

printf("%lld\n", f[n]);

return 0;

 


//2046
#include<stdio.h>
#include<string.h>
#define MAXN 51
typedef long long ll;
ll f[MAXN];
int main()

int n;
f[1] = 1;
f[2] = 2;
f[3] = 3;
for (int i = 4; i < 51; i++)

f[i] = f[i - 1] + f[i - 2];

while (~scanf("%d",&n))

printf("%lld\n", f[n]);

return 0;

 

//2047
/*递推:1)第n个元素是‘O’,那么第n-1个元素是‘E/F’即两种可能性,前n-2元素是正常f[n-2],故此时的总可能数是2*f[n-2];
2)第n个元素是‘E/F’即两种可能,那么前n-1个元素就没有特殊的要求即f[n-1],故此时的总可能数是2*f[n-1];
f[n]=f[n-1]+f[n-2];
*/
#include<stdio.h>
#include<string.h>
#define MAXN 51
typedef long long ll;
ll f[MAXN];
int main()

int n;
f[1] = 3;
f[2] = 8;
for (int i = 3; i < MAXN; i++)

f[i] = 2*(f[i - 1] + f[i - 2]);

while (~scanf("%d",&n))

printf("%lld\n", f[n]);

return 0;

 

micropythonrp2040读取dht11温湿度传感器数据+0.96“i2coled显示(代码片段)

【MicroPythonRP2040】读取DHT11温湿度传感器数据+oled显示✨本示例基于Thonny平台开发。📒RP2040开发板📘YD-RP2040开发板🎄DHT11传感器🎄ssd1306I2C0.96寸OLED屏幕📌注意事项⛳在运行代码前,需要先将ssd13060.96寸I2... 查看详情

ural2040palindromesandsuperabilities2

题目太坑,发一波纪念一下1#include<bits/stdc++.h>2usingnamespacestd;3typedeflonglongll;4constintN=5000010;5structPAM{6intcnt,last;7inta[N][2],l[N],f[N];8chars[N];9PAM(){10cnt=f[0]=f[1]=1;11l[1]=-1;12}13intge 查看详情

洛谷——p2040打开所有的灯

P2040打开所有的灯题目背景pmshz在玩一个益(ruo)智(zhi)的小游戏,目的是打开九盏灯所有的灯,这样的游戏难倒了pmshz。。。题目描述这个灯很奇(fan)怪(ren),点一下就会将这个灯和其周围四盏灯的开关状态全部改变。现在你的任务... 查看详情

洛谷p2040打开所有的灯

P2040打开所有的灯题目背景pmshz在玩一个益(ruo)智(zhi)的小游戏,目的是打开九盏灯所有的灯,这样的游戏难倒了pmshz。。。题目描述这个灯很奇(fan)怪(ren),点一下就会将这个灯和其周围四盏灯的开关状态全部改变。现在你的任务... 查看详情

acm2040java做法

ProblemDescription古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为:1+2+4+5+10+11+20+22+44+55+110=284。而284的所有真约数为1、2、4、71、142,加起来恰好为220。人们对这样的数感到很惊奇,并称之... 查看详情

micropythonrp2040点灯实验(代码片段)

MicroPythonRP2040点灯实验本实验基于Thonny平台本示例所使用的版本;YD-RP2040版(源地YD-RP2040)源地YD-RP2040开发板资料:http://152.32.187.208:8080/yd-data/YD-RP2040/本实验YD-RP2040开发板所烧录的固件:PimoroniPicoLiPo固件下载地址:https 查看详情

hdu2044(蜜蜂)2045(rpg难题)2046(骨牌铺方格)2047()

2044:没有仔细思考就看了题解,知道这样不好,但是还有8天就要比赛了,真是心虚到不要不要的,我打算这几天尽量把11页上的水题刷完,在回过头看看,因为实在是没有时间啦,至少到时候我不能在这些水题丢分哪。质变才能... 查看详情

hdu2046

骨牌铺方格TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):58798    AcceptedSubmission(s):28381ProblemDescription在2×n的一个 查看详情

arduinorp2040读取adc采样数据

ArduinoRP2040读取ADC采样数据 查看详情

hdoj:2046

#include<iostream>usingnamespacestd;longlongfib(intn){if(n==1)return1;if(n==2)return2;longlongf1=1;longlongf2=2;while(n>=3){longlongf3=f1+f2;f1=f2;f2=f3;n--;}returnf2;}intmain(){intn;while(ci 查看详情

2046acm数学(代码片段)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2046思维:与之前有两道题目相似,n可以由n-1和n-2递推过来。f(n)=f(n-1)*1+f(n-2)*1.也可以在草稿纸上直接画,寻找各项之间的规律。规律很明显。code:#include<iostream>usingnamespacestd;intma... 查看详情

在51单片机上,pcf8951和xpt2046有啥区别?

在51单片机上,pcf8951和xpt2046有什么区别?你这里应该写错了,应该是PCF8591而不是PCF8951,PCF8591和XPT2046都是AD转换芯片,都是4个通道,PCF8591是IIC通讯接口,XPT2046是SPI通讯接口,XPT2046是专为触摸屏控制设计而成的AD转换电路,SPI... 查看详情

hdu2046-饭卡(代码片段)

饭卡TimeLimit:5000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):43472    AcceptedSubmission(s):14886ProblemDescription电子科大本部食堂的饭 查看详情

circuitpythonraspberrypipicorp2040自定义机械键盘实例(代码片段)

【CircuitPython】RaspberryPiPicoRP2040MechanicalKeyboard实例本示例基于Thonny开发,所使用的固件是:CircuitPython,区别于MicroPython固件。最近B站某君的瀚文键盘很火热,这里介绍利用RaspberryPiPicoRP2040实现键盘按键定制功能。... 查看详情

arduinorp2040通过调节pwm实现呼吸灯效果

ArduinoRP2040通过调节PWM实现呼吸灯效果 查看详情

hdu2040亲和数(代码片段)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2040亲和数TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):57004    AcceptedSubmission(s):34670ProblemDescription古希腊数学家毕达哥拉斯在自然... 查看详情

micropythonrp2040通过adc调节pwm输出示例(代码片段)

【MicroPythonRP2040】通过ADC调节PWM输出示例🔖RaspberryPiPico引脚功能图🔖YD2040📖RP2040ADC介绍📝RP2040共有5个ADC通道,其中4个是基于12位SAR的ADC:GP26、GP27、GP28和GP29。ADC0、ADC1、ADC2、ADC3的输入信号分别可以连接到GP 查看详情

hdu2049

不容易系列之(4)——考新郎TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):41824    AcceptedSubmission(s):15368ProblemDescripti 查看详情