尼科彻斯定理-C语言/Java

这篇具有很好参考价值的文章主要介绍了尼科彻斯定理-C语言/Java。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

描述        

        验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。        

        例如:

                1^3=1

                2^3=3+5

                3^3=7+9+11

                4^3=13+15+17+19

        输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。(1≤m≤100) 

输入描述

        输入一个int整数

输出描述

        输出分解后的string

示例

        输入:6

        输出:31+33+35+37+39+41

        方法1:常规思路,直接计算

         C语言

#include <stdio.h>

int main() {

    int m;

    scanf("%d",&m);

    if(m==1)

    {

        printf("1");

        return 0;

    }

    int i=3;

    //用while来找m个奇数相加的第一个奇数

    while (1) {

        int sum=0,count=0;

        //求m个奇数的和

        for(int j=i;count!=m;j+=2)

        {

            sum+=j;

            count++;

        }

        //如果不满足条件,i的值为后一个奇数

        if(sum!=m*m*m)

        i+=2;

        else

        break;

    }

    for(int j=0;j<m;j++)

    {

        if(j==m-1)

        printf("%d",i+2*j);

        else

        printf("%d+",i+2*j);

    }

    return 0;

}文章来源地址https://www.toymoban.com/news/detail-646485.html

        Java

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int m=in.nextInt();

        if(m==1)

        {

            System.out.printf("1");

            return ;

        }

        int i=3;

        //用while来找m个奇数相加的第一个奇数

        while (true) {

            int sum=0,count=0;

            for(int j=i;count!=m;j+=2)

            {

                sum+=j;

                count++;

            }

            //如果不满足条件,i的值为后一个奇数

            if(sum!=m*m*m)

            i+=2;

            else

            break;

        }

        for(int j=0;j<m;j++)

        {

            if(j==m-1)

            System.out.printf("%d",i+2*j);

            else

            System.out.printf("%d+",i+2*j);

        }

       

    }

}

        方法2:找规律,找到首个相加的奇数和输入的数之间的关系。

尼科彻斯定理-C语言/Java,c语言,开发语言,java,算法

         C语言

#include <stdio.h>

int main() {

    int m;

    scanf("%d",&m);

    int i=m*m-m+1;

    for(int j=0;j<m;j++)

    {

        if(j==m-1)

        printf("%d",i+2*j);

        else

        printf("%d+",i+2*j);

    }

    return 0;

}

        Java

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int m=in.nextInt();

        int i=m*m-m+1;

        for(int j=0;j<m;j++)

        {

            if(j==m-1)

            System.out.printf("%d",i+2*j);

            else

            System.out.printf("%d+",i+2*j);

        }

    }

}

到了这里,关于尼科彻斯定理-C语言/Java的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java语言开发在线小说推荐网 小说推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习开发

    1、开发工具和使用技术 MyEclipse10/Eclipse/IDEA,jdk1.8,mysql5.5/mysql8,navicat数据库管理工具,tomcat,SSM(spring+springmvc+mybatis)开发框架,jsp页面,javascript脚本,jquery脚本,bootstrap前端框架(用户端),layui前端框架(管理员端),layer弹窗组件等。 2、实现功能 前台用户包含:注

    2023年04月26日
    浏览(57)
  • Java语言常用的算法

    排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序等。 查找算法:顺序查找、二分查找、哈希查找等。 字符串匹配算法:暴力匹配、KMP算法、Boyer-Moore算法等。 图论算法:最短路径算法、最小生成树算法、拓扑排序等。 动态规划算法:背

    2024年02月15日
    浏览(32)
  • Java 语言实现选择排序算法

    【引言】 选择排序算法是一种简单但有效的排序算法。它的原理是每次从未排序的元素中选择最小(或最大)的元素,放在已排序的末尾(或开头),逐渐形成有序序列。本文将使用Java语言实现选择排序算法,并详细讲解其思想和代码实现。 【算法思想】 选择排序的核心思

    2024年02月11日
    浏览(48)
  • Java 语言实现二分查找算法

    【引言】 二分查找算法是一种高效且常用的查找算法。它适用于已排序的数组或列表,并通过将目标值与中间值进行比较,来确定目标值在左侧还是右侧。本文将使用Java语言实现二分查找算法,并详细讲解其思想和代码实现。 【算法思想】 二分查找的核心思想是不断缩小查

    2024年02月11日
    浏览(26)
  • Java 语言实现归并排序算法

    【引言】 归并排序算法是一种高效且稳定的排序算法。它采用分治法的思想,将数组反复分割成两个子数组,直到每个子数组只有一个元素。然后将这些子数组逐个合并,最终得到排序完毕的数组。本文将使用Java语言实现归并排序算法,并详细讲解其核心思想和代码实现。

    2024年02月11日
    浏览(25)
  • Java 语言哈希查找算法实现

    哈希查找,也称为散列查找,是一种高效的查找算法。它利用哈希函数将映射到数组中的一个位置,通过直接访问该位置来获取元素,从而实现快速查找。Java语言提供了一些类和接口,例如 HashMap 和 HashTable ,使得我们可以方便地使用哈希查找算法。本文将详细介绍

    2024年02月10日
    浏览(33)
  • Java高级语言实现插入排序算法

    【引言】 插入排序算法是一种简单且常用的排序算法。它通过依次将未排序的元素插入已排序序列中的正确位置来达到排序的目的。本文将使用Java高级语言实现插入排序算法,并讲解其核心思想和代码实现。 【算法思想】 插入排序的核心思想是通过构建有序序列,对于未排

    2024年02月11日
    浏览(36)
  • 开发语言漫谈-Java

            由于C++过于复杂,Java诞生了。与C++相比,Java更易于学习和使用,它去掉C++中的指针和解决了内存管理问题。Java提供了垃圾自动回收机制,自动管理不再使用的内存。Python又进一步简化,使得语法更简洁,更易于阅读和编写。当然随着简化,性能就越来越低。    

    2024年04月10日
    浏览(36)
  • 海康威视相机SDK二次开发(JAVA语言)

    前言 有个项目需要使用java程序读取海康威视的相机图片。相机通过以太网连接服务器,部署在服务器上的java程序将相机拍摄的画面保存在指定路径下。 海康威视提供了sdk开发包,可以在官网中下载,windows和linux系统都有。但是开发包中给出的示例代码,无法满足实际需要,

    2024年04月29日
    浏览(35)
  • 【Java】后端开发语言Java和C#,两者对比注解和属性的区别以及作用

    欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《Java》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水平有限

    2024年01月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包