Другие языки программирования и технологии

подскажите как сделать программу на языке СИ(((

основной алгоритм (не проверял)

int i, j, s, N;

for( i = 1; i <= 200; i++ )
{
s = 0;
for( j = 2; j <= i; j+=2 )
{
if( i % j == 0 )
s += j;
}
if( s == N )
printf("%d", i)
}
Даниил Акошев
Даниил Акошев
25 952
Лучший ответ
// Beby_2011-11-16
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <windows.h>

void main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");

int N, n;

do
{
do
{
system("cls");

printf("\n Введите N: ");
scanf("%d", &N);
}
while (N % 2 != 0);

for (n = 1; n <= 200; n++)
{
int sum = 0;

for (int m = 2; m <= n; m++)
{
if (m % 2 != 0) continue;
if (n % m == 0) sum += m;
}

if (sum == N) printf(" %d ", n);
}

getch();
}
while (N);
}
// выполнено в Visual C++ 2010
// а второе задание мне не понятно...
Зачем массив?
Просто в цикле для каждого числа из данного промежутка определить чётные числа не превосходящие данное число, на которые делится данное число без остатка и сложить их количество…
Андрей Смирнов
Андрей Смирнов
96 602
#include <stdio.h>

int main() {
ЗДЕСЬ РЕАЛИЗУЕШЬ АЛГОРИТМ

return 0;
}

Потом компилируешь по F7 -- твоя прога готова
АТ
Антон Тришин
57 130
писал бы свой вопрос корректнее, а именно - "напишите за меня программу"
//задачка 1

int sum_of_dividers=0;
for (int i = 1; i<=200; i++)//перебираем числа
{
int sum_of_dividers=0;
for (int j = 2; j<=i; j+=2)//перебираем четные делители
{
if(i%j==0)
sum_of_dividers+=j;
}
if(sum_of_dividers==N) cout << "\t" << i; //это на с++, используй printf()
}
Вадим Тропин
Вадим Тропин
4 777
взять книжку и прочитать основы си.. . задачи элементарные
Adil Nurishob
Adil Nurishob
2 839