输入一个抽到的最大数字,和抽取几个数,输出随机抽到的数字

import java.util.Arrays;
import java.util.Scanner;

//本题目来自Java核心卷(一)示例
public class TestStudent {
    public static void main(String[] args) {
        // 要想选择这样一个随机的数值集合,就要首先将数值 1, 2, …,n 存人数组 numbers 中:
        Scanner sc = new Scanner(System.in);
        System.out.println("最大抽到多少?");
        int n = sc.nextInt();
        System.out.println("你想抽几个数?");
        int k = sc.nextInt();

        // 总共个数集合
        int[] numbers = new int[n];
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = i + 1;
        }
        // 抽取出的数的数组
        int[] result = new int[k];
        for (int i = 0; i < result.length; i++) {
            int r = (int) (Math.random() * n);
            result[i] = numbers[r];
            numbers[r] = numbers[n - 1];
            n--;
        }
        Arrays.sort(result);
        System.out.println("你抽取的数字是:");
        for (int ra : result) {
            System.out.print(ra + ",");
        }

    }
}

原文地址:https://www.cnblogs.com/run-forrest-gump/p/12578491.html

时间: 2024-11-14 11:55:48

输入一个抽到的最大数字,和抽取几个数,输出随机抽到的数字的相关文章

20150912华为机考1之&quot;输入一个字符串,将其中出现次数最多的字符输出&quot;

不吐槽华为的服务器了,直接上正文 输入:字符串(英文字母),长度不超过128 输出:出现频率最高的字母 思路写在注释文档 /* Input a string * Output the most frequent character * * The way of thinking: * using ASCII, count the number of each character * then find out the max number(max_num) * and its according

C语言,输入一个正整数,按由大到小的顺序输出它的所有质数的因子(如180=5*3*3*2*2)

1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 long num; 7 8 while(cin >> num){ 9 if(num == 1){ 10 cout << num << endl; 11 continue; 12 } 13 14 for(int i = 2; i <= num; ++i){ 15 if(num%i == 0){ 16 num = num/i;

输入一个年份,判断该年份是否是闰年并输出结果。求它是否是闰年?要求:能被4整除不能被100整除或者能被400整除。

1 y=input('请输入年份:') 2 if(y%4==0 and y%100 != 0 or y%400 == 0): 3 print '%s是闰年'%(y) 4 else: 5 print '%s不是闰年' % (y) 原文地址:https://www.cnblogs.com/Python-XiaCaiP/p/8521486.html

输入一个十进制的数到dx_ax,然后十六进制转十进制输出

1 ;HtoD 2 3 data segment 4 n dw ? 5 data ends 6 7 stack segment 8 db 50 dup(?) 9 stack ends 10 11 code segment 12 assume cs:code,ss:stack,ds:data 13 start:mov ax,stack 14 mov ss,ax 15 mov sp,50 16 mov ax,data 17 mov ds,ax 18 19 mov si,10 20 mov di,10

输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。

输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1. package hope20141002_01; import java.util.*; public class JingDong { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("

C语言——输入一个字符串,将连续数字字符转换为数字

输入一个字符串,内有数字和非数字字符,例如: A123cdf 456.78cpc876.9er 849.1 将其中连续的数字作为一个实数,依次存放到一数组a中.例如123存放在a[0],456.78存放在a[2],依次类推,统计共有多少个数,并输出这些数. #include <stdio.h> #include <string.h> #include <math.h> #define N 50 int Number(char str[],float num[]); in

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中。例如123放在num[0]中,456放在num[1]中……统计共有多少个整数,并输出这些数。

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中.例如123放在num[0]中,456放在num[1]中--统计共有多少个整数,并输出这些数. #include <stdio.h> int main(){ void search(char * parr, int * pnum); char arr[100],* parr; int num[30],* pnum; parr=arr;

输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符

//使用ASCII表写 import java.util.Scanner; public class Try { public static void main(String[] args) { System.out.println("输入一个字符"); char x=sc.next().charAt(0); if(x>=48&&x<=57){ System.out.println("这是一个数字"); } else if(x>=6

写一个递归函数,输入一个非负整数,返回组成它的数字之和。

★写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和. 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19. #include<stdio.h> #include<stdlib.h> int Digitsum(unsigned int num) { int sum = 0, n = num, m = 0; if (n) { m = n % 10;   //用以求得每一位的数字 n = n / 10;  //用以不断缩小位数直至获