2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Элементарная задача на С++ не проходит проверку
Сообщение26.04.2009, 15:37 
Имеется числовой ряд, необходимо найти количество элементов ряда, которые равны сумме двух других элементов. Например ряд 1 2 3 4, 1+2=3 и 1+3=4, итого ответ 2.
Первая строка - количество рядов, вторая - количество элементов в ряду. Ответ выводится сразу после ввода каждого ряда и нажатия Enter.

Sample Input
2
4
1 2 3 4
5
3 5 7 9 10

Sample Output
2
1

Мой код проходит проверку по верхним двум примерам, но, видимо, по каким-то другим условиям не проходит. Подскажите, пожалуйста, что не так? Код детский, но моя голова не варит - по логике, по-моему, все как должно быть.

Код:
#include <iostream>
using namespace std;

int main()
{

   int cases, counter;
   int nums[101], num;
   int i, j, k;
   
   cin>>cases;

   while(cases--)
   {
      counter = 0;

      //input
      cin>>num;

      for (i=0; i<num; i++)
      {
         cin>>nums[i];
      }

      //processing
      for (i=0; i<num; i++)
      {
         for(j=0; j<num; j++)
         {
            if (j==i) continue;

            for(k=j; k<num; k++)
            {
               if ((k==j)||(k==i)) continue;

               if(nums[i]==nums[j] + nums[k])               
                  counter++;
               
            }
         }
      }
      cout << counter << endl;
   }

   return 0;
}

 
 
 
 
Сообщение26.04.2009, 16:11 
вот вам ряд для раздумий :)
4 1 3 2 2

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group