Эти задачи придуманы нами
в процессе преподавания – и скажу сразу, это задачи очень непростые, потому что
они и придумывались для тех, кто простые и средней сложности задачи решает
уверенно.
Общее примечание: можно
генерировать числа не напрямую, а с помощью дополнительных действий.
Задание №1
Напиши класс, который
генерирует и выводит на экран серию из 15 случайных двузначных положительных
чисел, в каждом из которых вторая цифра (число единиц) совпадает с первой цифрой
(число десятков).
Задание №2
Напиши класс, который
генерирует и выводит на экран серию из 15 случайных двузначных положительных
чисел, в каждом из которых сумма цифр делится на 9 (без остатка).
Задание №3
Напиши класс, который
генерирует и выводит на экран серию из 15 случайных двузначных положительных
чисел, в каждом из которых первая цифра (число десятков) совпадает со второй цифрой
(число единиц) предыдущего элемента.
Задание №4
Напиши класс, который
генерирует и выводит на экран серию из 15 случайных чисел.
При этом серия должна быть
возрастающий – то есть каждый элемент должен быть больше предыдущих (но серия
должна оставаться серий случайных чисел).
Задание №5
Напиши класс, который генерирует
и выводит на экран серию из 15 случайных двузначных чисел, ни в одно из которых
не встречается цифра 7.
import java.util.*;
ОтветитьУдалитьclass z10_1
{
static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{
int i,x;
i=0;
while (i!=15)
{
x=(int)(Math.random()*90)+10;
if (x/10==x%10)
{
i++;
System.out.print(x+" ");
}
}
}
}
import java.util.*;
class z10_2
{
static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{
int i,x;
i=0;
while (i!=15)
{
x=(int)(Math.random()*90)+10;
if (x%9==0)
{
i++;
System.out.print(x+" ");
}
}
}
}
import java.util.*;
class z10_3
{
static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{
int i,s,x,d;
i=1;
s=0;
d=0;
while (s==0)
{
x=(int)(Math.random()*90)+10;
if (x%10!=0)
{
d=x%10;
s++;
System.out.print(x+" ");
}
}
while (i!=15)
{
x=(int)(Math.random()*90)+10;
if ((x/10==d)&&(x%10!=0))
{
i++;
d=x%10;
System.out.print(x+" ");
}
}
}
}
import java.util.*;
class z10_4
{
static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{
int i,x,d;
d=0;
for (i=1; i<=15; i++)
{
x=(int)(Math.random()*101)+d;
d=x;
System.out.print(x+" ");
}
}
}
import java.util.*;
class z10_5
{
static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{
int i,x;
i=0;
while (i!=15)
{
x=(int)(Math.random()*90)+10;
if ((x%10!=7)&&(x/10!=7))
{
i++;
System.out.print(x+" ");
}
}
}
}
Решение третей задачи от AVV:
ОтветитьУдалитьimport java.util.*;
class no3
{
static Scanner read=new Scanner (System.in);
public static void main (String[]args)
{
int y,y1,i=0;
y1=((int)(9*Math.random()+1)*10+(int)(9*Math.random()+1));
System.out.print(y1+" ");
for(i=0;i<14;i++)
{
y=((int)(y1%10)*10+(int)(9*Math.random()+1));
System.out.print(y+" ");
y1=y;
}
}
}Решение третей задачи от AVV:
import java.util.*;
class no3
{
static Scanner read=new Scanner (System.in);
public static void main (String[]args)
{
int y,y1,i=0;
y1=((int)(9*Math.random()+1)*10+(int)(9*Math.random()+1));
System.out.print(y1+" ");
for(i=0;i<14;i++)
{
y=((int)(y1%10)*10+(int)(9*Math.random()+1));
System.out.print(y+" ");
y1=y;
}
}
}
import java.util.*;
ОтветитьУдалитьclass Zadanie_1
{
static Scanner reader = new Scanner (System.in);
public static void main (String [] args)
{
int x,i,b;
for(i = 1; i<16; i++)
{
x=(int)(9*Math.random())+1;
b=x*11;
System.out.print (b+" ");
}
}
}
import java.util.*;
ОтветитьУдалитьclass Zadanie_2
{
static Scanner reader = new Scanner (System.in);
public static void main (String [] args)
{
int x,i,b;
for(i = 1; i<16; i++)
{
x=(int)(9*Math.random())+2;
b=x*9;
System.out.print (b+" ");
}
}
}
Vincenc, вся сложность этих задач как раз и заключается в НЕ-использовании цикла while)))
ОтветитьУдалитьОстальные задачи пока проверяю
Annie, ты нашла довольно остроумное решение, оно генерирует все нужные числа -- увы, кроме одного: 99 не получится. А это значит -- решение неполное.
ОтветитьУдалитьVivcenc, почему в решении задачи №4 в генераторе ты выбрал именно 101? Интересно.
ОтветитьУдалитьAVV, а вот строчку
ОтветитьУдалитьy1=((int)(9*Math.random()+1)*10+(int)(9*Math.random()+1))
ты почему записал именно так?
Извиняюсь, исправила:
ОтветитьУдалитьimport java.util.*;
class Zadanie_2
{
static Scanner reader = new Scanner (System.in);
public static void main (String [] args)
{
int x,i,b;
for(i = 1; i<16; i++)
{
x=(int)(10*Math.random())+2;
b=x*9;
System.out.print (b+" ");
}
}
}
Отлично
ОтветитьУдалитьЗадание №2
ОтветитьУдалитьpublic class test {
public static void main(String args[]) {
for (int i = 0; i < 15; i++) {
int random = (int)Math.round(Math.random()*10);
if (random < 8)
random += 2;
System.out.println(random*9);
}
}
}
Радмир, обрати внимание, что в твоем варианте никогда не получатся, например, числа 90 и 99.
ОтветитьУдалитьДля этого переменная random должна иметь значение 10 или 11 -- а они не могут в твоем варианте возникнуть.
Да, так это работает, молодец.
ОтветитьУдалитьТы знаешь,я решал эту задачу иначе: генерировал не число целиков, а одну из его цифр, а вторую получал не генерированием, а по правилу (другая=9-сгенерированная). Тут тоже есть свои хитрости: например -- какую из цифр двузначного числа, первую или вторую, надо генерировать, а какую вычислять? Попробуй -- это интересный и, что важно, перспективный для более сложных задач, вариант. Успеха!