Gwen_-_ 2022-01-21 11:51 采纳率: 75%
浏览 31
已结题

验证尼科彻斯定理 我提的问题在代码最后一段循环的注释

img

我提的问题在代码最后一段循环的注释

#include <stdio.h>
int main(){
int i,j,n,cubed,sum=0;
printf("请输入一个整数: ");
scanf("%d",&n);

cubed=n*n*n;

for(i=1;i<cubed;i+=2){
    for(j=i;j<cubed;j+=2){
        sum+=j;
        if(sum==cubed){
            if(j-i>4){   //超过3个数相加中间要用...代替 
                printf("%d = %d + %d ... +%d\n",cubed,i,i+2,j);
            }else{                                                                                                                                                                                                                                                                                                                                       
                printf("%d = %d + %d + %d\n",cubed,i,i+2,i+4);
            }
            
        }
         
      if(sum>cubed){    ** //why???  没有这段循环就没有任何输是为啥? **
                sum=0;
                 break;
    } 
    
    }
}


    return 0;    

}

展开全部

  • 写回答

1条回答 默认 最新

  • 乔乔家的龙龙 C/C++领域优质创作者 2022-01-21 12:33
    关注

    这个定理规定了是>2的数的立方可写成连续奇数和,最后一个if是指奇数和>立方的值的情况,这种情况只有0和1满足,非>2的整数不能验证不在定理验证范围内,直接把 sum 归0即可,望采纳捏

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月9日
  • 已采纳回答 2月2日
  • 创建了问题 1月21日

悬赏问题

  • ¥15 为什么投影机用酷喵播放电影放一段时间就播放不下去了?提示发生未知故障,有什么解决办法吗?
  • ¥15 来个会搭建付费网站的有偿
  • ¥100 有能够实现人机模式的c/c++代码,有图片背景等,能够直接进行游戏
  • ¥20 校园网认证openwrt插件
  • ¥15 以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
  • ¥15 求GCMS辅导数据分析
  • ¥30 SD中的一段Unet下采样代码其中的resnet是谁跟谁进行残差连接
  • ¥15 Unet采样阶段的res_samples问题
  • ¥15 R语言regionNames()和demomap()无法选中中文地区的问题
  • ¥15 Open GL ES 的使用
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部