11.28刷题总结
2021/11/29 6:08:14
本文主要是介绍11.28刷题总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
11.28
求最小公倍数
就是先算两个数的最大公因数,然后两个数分别除以最大公因数,两个数再相乘,再乘以最大公因数。
求汉字个数
由于汉字在内存中占两个字节,且汉字的机内码字节的最高位为1,所以汉字机内码的每个字节表示的十进制数都是负数。统计输入字符串含有几个汉字,只需求出字符串中小于0(a[i]<0)的字符有几个,将它除以2就得到答案。
进制转换跟二进制转换类似,主要原理为:tmp为要转换的数,用a数组来保存转换后每一位的进制数;while(tmp>0)
{d=tmp%r;
a[k++]=d;
tmp/=r;}
从最低数位开始得的,故最后要反向输出
for(int i=k-1;i>=1;--i)
{ if(a[i]>=10)
{ char c='A';
printf("%c",c+(a[i]-10)); }
else printf("%d",a[i]); }
杨辉三角1基本思想:开两个数组,然后b数组为a数组上一次的值,然后套用a[i]=b[i-1]+a[i]公式可得;
具体代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int a[100],b[100];
int main()
{int n;
while(cin >> n)
{b[0]=0,b[1]=1,a[0]=0,a[1]=1;
for(int i=1;i<=n;++i)
{if(i==1)
{cout << "1" << endl;}
else
{for(int j=1;j<=i;++j)
{if(j!=i)
a[j]=b[j-1]+a[j];
else
a[j]=1;
if(j!=i)
cout << a[j] << " ";
else
cout << a[j] << endl;}
}
for(int j=1;j<=i;++j)
{b[j]=a[j];
}
}
cout << endl;}
return 0;}
这篇关于11.28刷题总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求