猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
一个算法问题,,
如果有很多(这种规律) 的数字 1 4 9 16 25
问题:1+4+16 =21
怎么通过21得到 1,4,16 这个几个数,,,
这个算法如何实现
天涯尽头无女友
浏览 703
回答 3
3回答
九州编程
先从1开始枚举i,当i^2大于n(你读入的数)时跳出并记录i-1,比如读入21时i=5就跳出了,记录一个4,然后重复这个操作直到1代码如下,void Function(int k) { if (k == 1) { printf("1\n"); return; } int i; for (i = 1; i * i <= k; i++); i--; Function(k - i * i); printf("%d\n", i * i);}例如输入21就会输出:1416
0
0
0
jeck猫
你这个是要循环,还是要得到那个数啊
0
0
0
梦里花落0921
计算机最强大的功能就是穷举
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
算法
正则表达式,要怎麽从下一个字开始匹配,而不是从下一个词?
0 回答
scrapy 解析js代码或正则?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续