连续奇数和
//4^3 = 64 = 1 + 3 + ... + 15
//写出 111 的立方之连续奇数和表示法的起始数字。如果有多个表示方案,选择起始数字小的方案.
//S = a + ... = na + n(n-1)d/2 = n(n+a-1)注意n+a-1>=a,想要a取得最小值,则n尽可能大同时验证a为奇数
#include <stdio.h> #define eps 1e-7 #include <math.h> int main() { int n = (int)sqrt(pow(111,3)); for(;n>=1;n--) { if(pow(111,3)/n - (int)(pow(111,3)/n) < eps && ((int)(pow(111,3)/n)+1-n)%2)//整数及首项为奇数 { printf("%d\n",(int)(pow(111,3)/n) + 1 - n); break; } } return 0; }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步