Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2011, 19:42   #61
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Выше пост обновил.
Цитата:
Добавьте вывод m и все поймете
Код:
if (n%m==0)
          {
             System.out.print(n);
             //пробел или какой-нибудь другой разделитель, не знаю как в Java, System.out.print("   "); ?
             System.out.println(m);
 
          }
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.08.2011, 19:48   #62
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Да.Понятно.Так наглядней стало,изза этого я вместо
Код:
if (n%m==0)
написал
Код:
while (n%m==0)
,но результат один и тот же.
Faridik вне форума Ответить с цитированием
Старый 12.08.2011, 20:05   #63
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
        int i,n,m;
	bool flag;
	for (n=1;n<100;n++)
	{
		flag = true;
		for (m=2;m<n;m++)
		{
			if (n%m==0)
			{
				flag = false;
				break;
			}

		}
		if (flag) system.out.println(n);
	}
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.08.2011, 19:12   #64
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Вот еще один вариант нахождения простых чисел.
Код:
int n,m, k;
	for (n=3;n<100;n+=2)
           {k=((int) Math.sqrt(n));
		for (m=2;m<=k;m+=2)
		{
			if (n%m==0) break;
                }
		if (m>k) System.out.println(n);
	   }
Faridik вне форума Ответить с цитированием
Старый 21.08.2011, 19:14   #65
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Этот алгоритм находит простые числа до 100.А почему этот же алгоритм не находит простые числа массива?
Код:
int n,m, k,i;
	n=5;
        int a[]={15,6,9,7,13};
        for (i=0;i<n;i++)
           {
                k=((int) Math.sqrt(a[i]));
		for (m=3;m<=k;m+=2)
		{
			if (a[i]%m==0) 
                        break;
                }
		if (m>k) System.out.println(a[i]);
	   }
Faridik вне форума Ответить с цитированием
Старый 21.08.2011, 22:03   #66
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Второй вопрос решил.
Код:
if (a[i]%m==0)
надо написать как
Код:
if (a[i]%m==0 || a[i]%2==0)
тогда заработает нормально.А вот
Код:
if (m>k)
не могу понять что выполняет.
Faridik вне форума Ответить с цитированием
Старый 04.01.2012, 12:40   #67
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Здрасвуйте.После долгого отдыха,опять беспокою Вас
У меня Вот такая проблема.
Задача: 1. Даны натуральные числа n, a1, a2,…, an. Определить количество членов последовательности a1, a2,…, an являющихся квадратами нечетных чисел

Код:
int n,i,m;
        n=8;
        int [] a = {5,3,25,9,4,16,7,49};
        for (i=0;i<n;i++)
        {  
        m = Math.sqrt(a[i]);
            if (m % 2 !=0)
        System.out.println (a[i]);
        }
Почему не работает?Как задать так чтобы m искал только int?
Faridik вне форума Ответить с цитированием
Старый 04.01.2012, 13:07   #68
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

код dev c++
Код:
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;

int main(int argc, char *argv[])
{
    int n,i;
        n=8;
        int a [8]= {5,3,25,9,4,16,7,49};
        for (i=0;i<n;i++)
        {  
        int m = trunc(sqrt(a[i]));
        if((sqrt(a[i])-m<0.000001)&&(m % 2 !=0))
        cout << a[i] << " ";
        }
    system("PAUSE");
    return EXIT_SUCCESS;
}
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 05.01.2012, 22:00   #69
Sab_zero
Пользователь
 
Регистрация: 05.01.2012
Сообщений: 24
По умолчанию

Код:
int n,i,k=0;double m;
        n=8;
        int [] a = {5,3,25,9,4,16,7,49};
        for (i=0;i<n;i++)
        {  m = Math.sqrt(a[i]);
          if (m % 2 !=0) k++;}
          
        System.out.println (k);

k- это количество тех самых чисел.
Благодарности:
*Web Money R255875884682
*ЯД 410011281309785
Sab_zero вне форума Ответить с цитированием
Старый 10.01.2012, 10:05   #70
Faridik
Форумчанин
 
Аватар для Faridik
 
Регистрация: 08.08.2008
Сообщений: 117
По умолчанию

Найти все натуральные числа, не превосходящие N<1000 и представимые в виде суммы квадратов двух различных, натуральных чисел

Код:
int s,n,m,z;
        for (n=1;n<40;n++)
        for (m=1;m!=n;m++)
        for (s=1;s<1000;s++)
        {
        if (s==n*n+m*m)
        System.out.println (s);
Задача вроде бы работает правильно,но вот правильно ли использовать столько циклов?
Faridik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос начинающего по компилятору Tmod Софт 7 28.08.2010 22:10
Вопрос от начинающего ProGus Microsoft Office Excel 1 10.08.2010 14:30
Инструментарий начинающего... Всеслав Общие вопросы C/C++ 6 24.12.2008 15:39
Портфолио начинающего программиста С++ Марья Свободное общение 1 12.06.2008 08:16