четверг, 29 сентября 2011 г.

Задачи на циклы и случайные числа (базовые)


Несколько задач на использование случайных чисел, начиная от совсем несложных до чуть похитрее. Главное в них -- отработать работу с Math.randome() как генератором случайных чисел (как создается нужный диапазон, как преобразовать дробное случайное число в целое).

Успеха!


Задание №1
Напиши класс, который генерирует и выводит на экран 15 случайных целых чисел из диапазона от -10 до +10.
Класс должен подсчитать, сколько нулей было в серии – и вывести результат подсчета на экран в отдельной строке.

Задание №2
Напиши класс, который генерирует и выводит на экран 15 случайных целых чисел из диапазона "отрицательные трехзначные".
Класс должен определить, было ли большинство значений в серии нечетными – и вывести результат подсчета на экран в отдельной строке.

Задание №3
Напиши класс, который генерирует и выводит на экран 15 случайных целых чисел из диапазона от 40 до 123.
Класс должен подсчитывать и выводить на экран (в отдельной строке) сумму всех чисел в серии.

Задание №4
Напиши класс, который генерирует 25 случайных чисел из диапазона "положительные двузначные". Однако на экран следует выводить только нечетные числа – а затем в отдельной строке сообщить, сколько чисел из 25 сгенерированных не были выведены на экран.

Задание №5
Напиши класс, который генерирует и выводит на экран 15 случайных чисел из диапазона от 5 до 85 – но только такие, которые заканчиваются на 5.
Класс должен подсчитать, сколько среди сгенерированных чисел попали в диапазон от 35 до 60.

Задание №6
Напиши класс, который генерирует и выводит на экран 15 случайных однозначных положительных чисел.
Класс должен определить, сколько раз в серии было сгенерировано значение 0, и сколько раз – значение 9; результаты подсчета следует вывести на экран.

10 комментариев:

  1. import java.util.*;
    class z8_1
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    {
    int i,x,c;
    c=0;
    for (i=1; i<=15; i++)
    {
    x=(int)(Math.random()*21-10);
    System.out.print(x+" ");
    if (x==0) c++;
    }
    System.out.println();
    System.out.println(c);
    }
    }

    import java.util.*;
    class z8_2
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    {
    int i,x,c;
    c=0;
    for (i=1; i<=15; i++)
    {
    x=(int)(Math.random()*(-900)-100);
    System.out.print(x+" ");
    if (x%2!=0) c++;
    }
    System.out.println();
    if (c>(15-c)) System.out.println("Нечетных больше - "+c);
    else System.out.println("Нечетных меньше - "+c);
    }
    }

    import java.util.*;
    class z8_3
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    {
    int i,x,s;
    s=0;
    for (i=1; i<=15; i++)
    {
    x=(int)(Math.random()*84+40);
    System.out.print(x+" ");
    s+=x;
    }
    System.out.println();
    System.out.println("Сумма чисел - "+s);
    }
    }

    import java.util.*;
    class z8_4
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    {
    int i,x,c;
    c=0;
    for (i=1; i<=25; i++)
    {
    x=(int)(Math.random()*90+10);
    if (x%2!=0) System.out.print(x+" ");
    else c++;
    }
    System.out.println();
    System.out.println("Не выведено на экран - "+c);
    }
    }

    import java.util.*;
    class z8_5
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    {
    int i,x,c;
    c=0;
    for (i=1; i<=15; i++)
    {
    x=(int)(Math.random()*17+1)*5;
    System.out.print(x+" ");
    if ((x>=35)&&(x<=60)) c++;
    }
    System.out.println();
    System.out.println("Чисел в диапазоне - "+c);
    }
    }

    import java.util.*;
    class z8_6
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    {
    int i,x,a,b;
    a=0;
    b=0;
    for (i=1; i<=15; i++)
    {
    x=(int)(Math.random()*10);
    System.out.print(x+" ");
    if (x==0) a++;
    if (x==9) b++;
    }
    System.out.println();
    System.out.println("Значений 0 - "+a);
    System.out.println("Значений 9 - "+b);
    }
    }

    ОтветитьУдалить
  2. Ну, Vincenc, ты просто пуля... )))

    На уроках, что ли, делал? )))

    Все отлично.

    ОтветитьУдалить
  3. Я приболел, поэтому и вчера на занятии не присутсвовал, а дома лечусь а между тем решил задачки

    ОтветитьУдалить
  4. Если задачи помогут тебе выздороветь -- я буду рад!

    ОтветитьУдалить
  5. я советую хорошо присмотреться к результатам, которые выводит программа z8_5. Они не совсем такие, как указано в задаче - выводимые числа ДЕЛЯТСЯ на 5, а просили ЗАКАНЧИВАЮТСЯ на 5

    ОтветитьУдалить
  6. Владимир Максович сказал решать по одной задачке, так что вот пока одна, четвертая

    import java.util.*;
    class Zadanie_4
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    int x,i,s;
    s=0;
    for(i = 1; i<26; i++)
    {
    x=(int)(90*Math.random())+10;
    if (x%2==1) System.out.print (x+" ") ;
    else
    s=s+1;
    }
    System.out.print ("s="+s);
    }
    }

    ОтветитьУдалить
  7. исправил пятую задачу, не внимателен оказался

    import java.util.*;
    class z8_5
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    {
    int i,x,c;
    c=0;
    for (i=1; i<=15; i++)
    {
    x=(int)(Math.random()*9)*10+5;
    System.out.print(x+" ");
    if ((x>=35)&&(x<=60)) c++;
    }
    System.out.println();
    System.out.println("Чисел в диапазоне - "+c);
    }
    }

    ОтветитьУдалить
  8. Шестая

    import java.util.*;
    class Zadanie_6
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    int x,i,s,d;
    s=0;
    d=0;
    for(i = 1; i<15; i++)
    {
    x=(int)(9*Math.random())+0;
    System.out.print (x+" ") ;
    if (x==0)
    s=s+1;
    if (x==9)
    d=d+1;
    }
    System.out.print ("Количество нолей "+s);
    System.out.print (" Количество девяток "+d);
    }
    }

    ОтветитьУдалить
  9. Annie, два замечания:
    1-несущественное: в генераторе случайного числа в принципе можно было и не писать +0, хотя никакой ошибки, даже формальной, в этом нет

    2-существенное: если ты посчитаешь, сколько чисел класс выдает в серии, то обнаружтшь, что их не 15, а 14! Это -- из-за условия в заголовке цикла i<15, из-за которого цкл последний раз выполняется при i, равном 14

    ОтветитьУдалить
  10. Да да, точно, моя невнимательность, спасибо!

    ОтветитьУдалить