精华内容
下载资源
问答
  • 输入一个正整数n,输出所有和为n的连续正整数序列
    千次阅读
    2018-10-02 18:17:38

    看到一面试题,感觉挺有意思的就思考写了一下,记录当时的思路。
    分析:连续的正整数表示至少有两个数字,所以最多有(1+n)/2个连续的序列,这就表示可以循环(1+n)/2次且这也是最大数字。
    下面就是我的实现过程:

    public static void getSubInteger(int n){
      //最多有max个数字
      int max = (n + 1) / 2;
      //记录有多少种连续的数
      int num = 0;
      for (int i = 1; i <= max; i++) {
       int sum = 0;
       for (int j = i; j <= max; j++) {
        sum += j;
        if (sum == n) {
         System.out.println("从" + i + "开始到" + j + "有连续的数");
         num++;
        }
       }
      }
      if (num != 0) {
       System.out.println("连续的数有" + num + "种");
      } else {
       System.out.println("没有连续的数");
      }
     }
    

    如果大佬有更好的思路请指导

    更多相关内容
  • 编程笔试(解析及代码实现):求和为N正整数序列之实现一个函数,输入一个正整数N (比如100),输出所有和等于N的[连续]正整数序列 目录 题目描述 代码实现 题目描述 求和为N正整数序列:...

    编程笔试(解析及代码实现):求和为N的正整数序列之实现一个函数,输入为一个正整数N (比如100),输出为所有和等于N的[连续]正整数序列

    目录

    题目描述

    代码实现


    题目描述

    求和为N的正整数序列:实现一个函数,输入为一个正整数N (比如100),输出为所有和等于N的[连续]正整数序列(比如: [9,10,...,16],[18,19,...,22])。
    [连续]的定义:
    正确: [1,2,3,4,5], [100,101,102]
    不正确: [2,4,6,8,10] [10,20,30]
    输入一个整数N,输出为所有和为N的连续正整数序列(至少含两个数),每行一个以空格分隔的序列。
    样例输入:9
    样例输出:
    2 3 4
    4 5

    代码实现

    
    '''
    和为N的正整数序列&#
    展开全文
  • 分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!... * 题目: 输入一个正整数n,输出所有和为n的连续正整数序列。例如:输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6...

    分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 

    /*
     * 求和为n的连续正整数序列 - C++ - by Chimomo
     *
     * 题目: 输入一个正整数n,输出所有和为n的连续正整数序列。例如:输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
     *
     * Answer:
     *
     * Suppose n = i+(i+1)+...+(j-1)+j,
     * then n = (i+j)(j-i+1)/2 = (j*j-i*i+i+j)/2
     * => j^2+j+(i-i^2-2n) = 0
     * => j = (sqrt(1-4(i-i^2-2n))-1)/2
     * => j = (sqrt(4i^2+8n-4i+1)-1)/2.
     *
     * We know 1 <= i < j <= n/2+1, so for each i in [1,n/2], do this arithmetic to check if there is a integer answer.
     *
     * Note: 二次函数 ax^2+bx+c=0 的求根公式为: x = (-b±sqrt(b^2-4ac))/2a。
     */
    
    #include <iostream>
    #include <cassert>
    #include <stack>
    #include <math.h>
    
    using namespace std;
    
    int FindConsecutiveSequence(int n) {
        int count = 0;
    
        for (int i = 1; i <= n / 2; i++) {
            double sqroot = sqrt(4 * i * i + 8 * n - 4 * i + 1);
            int floor = sqroot;
    
            if (sqroot == floor) {
                cout << i << "-" << (sqroot - 1) / 2 << endl;
                count++;
            }
        }
    
        return count;
    }
    
    int main() {
        int count = FindConsecutiveSequence(15);
        cout << "Totally " << count << " sequences found." << endl;
        return 0;
    }
    
    // Output:
    /*
    1-5
    4-6
    7-8
    Totally 3 sequences found.
    
    */
    

     

    展开全文
  • 展开全部importjava.util....publicclassTest{publicstaticvoidmain(String[]args){intrepeat=0,n;intmax=0;Scannerin=newScanner(System.in);max=in.nextInt();System.out.println("请输入您要比较的整数的个6...

    展开全部

    import java.util.Scanner;

    public class Test {

    public static void main(String[] args){

    int repeat = 0,n;

    int max = 0;

    Scanner in=new Scanner(System.in);

    max=in.nextInt();

    System.out.println("请输入您要比较的整数的个62616964757a686964616fe4b893e5b19e31333262353339数:");

    n = in.nextInt();

    int col[] = new int[n+1]; //收集您所输入的数;

    col[0] = max;

    System.out.println("请输入您要比较的整数:");

    for(int ri=1; ri<=n; ri++){

    repeat=in.nextInt();

    col[ri] = repeat;

    if(repeat > max){

    max = repeat;

    }

    /*--------------------*/

    }

    System.out.println("\n"+"您所输入的整数是:");

    for(int i=0;i

    if (i == (col.length -1)) {

    System.out.print(col[i]);

    break;

    }

    System.out.print(col[i] + ",");

    }

    System.out.println("\n" + "其中最大的数是:");

    System.out.println(max);

    }

    }

    /*

    给您改了改!希望满足您的要求!

    */

    测试结果:

    da0d8d67d5f5789b7b96019f71020833.png

    展开全文
  • java如何输入一个整数 c语言如何输入一个正整数N,再输入N个整数,按从小...java如何输入一个整数 c语言如何输入一个正整数N,再输入N个整数,按从小...相关问题:匿名网友:可以通过”Scanner“函数 直接输入参数的...
  • 一个大于2的整数N,他可能等于比它小的若干个整数(大于等于2并且不等于自己)乘积。如果存在这样的连续整数,将他们输出,如果没有则输出-1。  例: 整数120,120=4*5*6或2*3*4*5。所以输出[3,4,5],[2,3,4,5]  ...
  • 用C语言编写程序,输入一个正整数n(1#include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x09scanf("%d",&n);\x09for(i=0;i/* 计算正整数n所有因子(1和n除外)之和.(用C语言编程)#...
  • 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。 输入格式: 输入一个正整数n(1...
  • 难度:★☆☆☆☆,经典问题:求数列的平均数
  • python 求和为正整数n的连续整数序列

    千次阅读 2017-10-03 00:57:48
    python 求和为正整数n的连续整数序列
  • 输入第一行给出一个N(≤1000);第2行给出N个非负整数,以空格分隔。 输出格式: 在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。 主要思路 奇数除以2余数不0 否则偶数 模板 申请1001...
  • 序列求和,输入两个正整数m和n(0

    千次阅读 2021-05-22 17:30:04
    VC编写程序:输入两个正整数m和n(m>=1,n/*low=1high=99991是水仙花数.1的各位数字之和与其自身相等.2的各位数字之和与其自身相等.3的各位数字之和与其自身相等.4的各位数字之和与其自身相等.5的各位数字之和与其...
  • 如:n=3,3个整数13,312,343,连成的最大整数为34331213。 如:n=4,4个整数7,13,4,246连接成的最大整数为7424613。 import java.util.Scanner; public class Main{ public static void main(String[] args){ ...
  • 整数划分问题将正整数n表示成一...=1正整数n的划分数,记p(n)。例如正整数6有如下11种不同的划分,所以p(6)=11在最大加数n1不大于m的划分个数记作q(n,m)。 q(n,m)=1, 当n=1,m=1;q(n,m)=q(n,n) 当n<m; q(n,m)=1...
  • #include <iostream> #include <iomanip> #include <cstdio> #include <cmath> #include <string>... int n; //输入一个数,表示有几个数进行比较 cin >> n;...
  • 如果一个n正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。编程计算并输出所有的n的所有情况。 慕课上的题是这样: 如果一个n正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。四位自方幂数...
  • 输入正整数n,求n以内能被17 整除的最大正整数

    万次阅读 多人点赞 2020-03-30 22:09:52
    输入正整数n,求n以内能被17 整除的最大正整数 描述 获得用户输入的一个正整数,输出能被17整除的最大正整数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬...
  • python分别输入2个正整数m和n(m < n)?

    千次阅读 2020-12-09 14:43:58
    展开全部具体代码如下,已32313133353236313431303231363533e58685e5aeb931333433656634测试可以正常运行import randomdef func(m, n):random.seed(50)result = {}least_count_num = {'num': 0, 'count':1000}most_...
  • 从键盘输入一个正整数 n,求 n!

    千次阅读 2021-02-03 18:32:20
    从键盘输入一个正整数 n,求 n! #include <stdio.h> int main () { int i = 2 , n; float fac = 1; printf("请输入一个正整数:\n"); scanf("%d", &n); if(n == 0 || n == 1) { printf("%d 的阶乘...
  • 判断一个正整数m是否素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即素数,否则m合数。方法一:(利用for循环和break语句)import mathm = int(input("请...
  • 【问题描述】输入一个正整数n(1<n<10),再输入n个整数,存入数组中,再将数组中的数,逆序存放并输出 【输入形式】先输入一个整数n,再输入n个整数,用空格间隔 【输出形式】输出n个整数,用空格间隔 ...
  • 本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。 函数接口定义: void PrintN ( int N ); 其中N是用户传入的参数。该函数必须将从1到N的全部正整数顺序打印出来,每个数字占1行。 裁判测试...
  • *** ** ... int i, j, n=3; // scanf("%d", &n); for (i = n; i > 0; i--){ for(j=n;j>=1;j--){ printf (" "); } for(j=1;j<=i;j++){ printf ("*"); } print.
  • 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:15=1+2+3+4+515=4+5+615=7+8有些数可以写成连续N(>1)个自然数之和,比如14=2+3+4+5;有些不能,比如8.那么如何判断一个数是否可以写成连续N个...
  • 输入数据有多组测试数据,每一组占一行,每行为一个数字N,其中1≤N≤9999。以0作为结束。 输出1到N所有整数中1的个数,每个测试占一行。
  • //用来统计各阶段学生成绩的人数,初始值都0;float score;//定义成绩变量;float ave=0;//定义平均成绩float num=0;//定义全部成绩总和scanf("%d",&n);//从键盘输入学生成绩的个数for(i=1;i<=n;i++){...
  • 求一个正整数n无序拆分小等于k个正整数的拆分方案数量,要求所有的拆分方案不重复(注意:拆分后的子集是无序的,对于类似 1 2 1 1与2 1 1 1拆分,它们是一种拆分方案)。 输入格式 输入包含一个整数n和k,分别...
  • 给定的正整数N,求方程X^2+y^2=N的全部正整数解。N小于10000.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 598,977
精华内容 239,590
关键字:

当n为正整数时