当前位置: 首页 > news >正文

完全平方数(模版)

求组成一个数所需要最少的平方数的个数

方法一(动态规划)

int dp[N];
for(int i=1;i<=n;i++){dp[i]=dp[i-1]+1;for(int j=1;j*j<=i;j++){dp[i]=min(dp[i],dp[i-j*j]+1);}
}

方法二(数学)(四平方和定理)

四平方和定理证明了任意一个正整数都可以被表示为至多四个正整数的平方和。

int check(int x){int mid=x;if(x==(int)sqrt(x)*sqrt(x))return 1;while(x%4==0)x/=4;if(x%8==7)return 4;for(int i=1;i*i<=mid;i++){int j=mid-i*i;if((int)sqrt(j)*sqrt(j)==j)return 2;}return 3;
}

相关文章:

  • Codeforces Round 745 (Div. 2)(C:前缀和+滑动窗口,E:位运算加分块)
  • 智能座舱架构与芯片- (13) 软件篇 下
  • 函数与数组
  • 音视频同步笔记 - 以音频时间为基
  • redis运维(十九)redis 的扩展应用 lua(一)
  • 如何下载OpenJDK及其源码
  • PHP 语法||PHP 变量
  • 睡前随笔记录
  • 含分布式电源的配电网可靠性评估matlab程序
  • Apache配置虚拟主机
  • 【双指针】有效三角形的个数
  • 6.2.SDP协议
  • 数据分析基础之《jupyter notebook工具》
  • OpenCvSharp从入门到实践-(01)认识OpenCvSharp开发环境搭建
  • Modbus TCP
  • 时间复杂度分析经典问题——最大子序列和
  • 自己简单写的 事件订阅机制
  • 0x05 Python数据分析,Anaconda八斩刀
  • Android开源项目规范总结
  • CentOS7简单部署NFS
  • centos安装java运行环境jdk+tomcat
  • Facebook AccountKit 接入的坑点
  • fetch 从初识到应用
  • in typeof instanceof ===这些运算符有什么作用
  • k8s如何管理Pod
  • markdown编辑器简评
  • react 代码优化(一) ——事件处理
  • 初识 webpack
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 删除表内多余的重复数据
  • 一些css基础学习笔记
  • 因为阿里,他们成了“杭漂”
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • ###STL(标准模板库)
  • #pragma once与条件编译
  • $.ajax()方法详解
  • (8)STL算法之替换
  • (9)目标检测_SSD的原理
  • (day6) 319. 灯泡开关
  • (Git) gitignore基础使用
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)springboot教学评价 毕业设计 641310
  • (转)人的集合论——移山之道
  • ./和../以及/和~之间的区别
  • .gitignore文件_Git:.gitignore
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET 中的轻量级线程安全
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?