バナナの謎はまだ謎なのだぞ

#include<iostream>
#include<math.h>

#define M_PI       3.14159265358979323846

using namespace std;


int main(){
	int ans =0;
	int n=0;
	int m=0;


	while(1){
		cin >> n;
		cout<<n;

		if(n==0)break;
		int oreA[10][2];
		// answer
		cin >> m;
		for(int j=0; j<m; j++)
		{
			cin >>oreA[j][0];
			cin >>oreA[j][1];
		}

		// hoka
		for(int i=0; i<n-1; i++)
		{
			cin >> m;
			int dare[10][2];
			for(int j=0; j<m; j++)
			{
				cin >> dare[j][0];
				cin >> dare[j][1];

				cout >> dare[j][0];
				cout >> dare[j][1];
			}

			//for(int h=0; h <4 ; h++)
			//{
			//	int c=0;
			//	for(int j=0; j<m; j++)
			//	{
			//		int tempx=dare[j][0];
			//		dare[j][0]=dare[j][0]*cos(M_PI/2)+dare[j][1]*sin(M_PI/2);
			//		dare[j][1]=tempx*sin(M_PI/2)*(-1)+dare[j][0]*cos(M_PI/2);

			//		if(oreA[j][0]==dare[j][0] && oreA[j][1]==dare[j][1]){
			//			c++;
			//		}
			//	}
			//	if(c==m){
			//		cout << i+1;
			//	}

			//}





		}


	}

	return 0;
}

14問目

#include<iostream>
using namespace std;

int main(){

  unsigned long int max=0;
  unsigned long int maxans=0;
  unsigned long int p=0;
  unsigned long int count=0;

  for(unsigned long int i=999999;i>=0;i--)
   {
      count=0;
      p=i;
      while(p!=1)	
	{
	  if(p%2==0)
	    {
	      p=p/2;
	      count++;     
	    }
	  else
	    {
	      p=3*p+1;
	      count++;
	    }
	}
      
      //  cout<<count<<endl;
      if(max<count)
	{
	maxans=i;
	max=count;
	cout<<maxans<<endl;
	}

      if(i==1)break;
       }

  cout<<"ans is"<<maxans<<endl;

  return 0;


}

13問目

#include<iostream>
using namespace std;

int main(){

  int num[100][50];
  int buf[50];
  int mod[50];
  int ans[50];
  char c;
  
  for(int i=0;i<100;i++)
    {
      for(int p=0;p<50;p++)
	{
	  cin>>c;
	  num[i][p]=c-'0';

	  buf[p]=0;
	  mod[p]=0;
	  ans[p]=0;
	}
    }

  for(int i=0;i<50;i++)
    {
      for(int p=0;p<100;p++)
	{
	  mod[49-i]+=num[p][49-i];
	}

      mod[49-i]+=buf[49-i];
      ans[49-i]=mod[49-i]%10;
      buf[48-i]=mod[49-i]/10;
    }
  
  cout<<"ans"<<mod[0]<<endl;

  for(int i=1;i<50;i++)
    {
      cout<<i<<":"<<ans[i]<<endl;
    }
  
 


  return 0;


}

12問目

#include <iostream>
#include <math.h>
using namespace std;
int main(){	
	int sq=0;
	int count=0;
	int prv=0;

	for(long long int i=1;i<100000000000000000;i++)
	{
		
		sq+=i;
		if( sqrt((double)sq) - floor(sqrt((double)sq))==0.0) count--;

		for(int n=1; n<=sq; n++ )
		{	

			
			if(sq%n==0 && n > prv && n!=1)break;
			if(sq%n==0)
			{		
				prv=sq/n;
				count+=2;
			}		
		}

		cout<<count<<" sq"<<sq<<endl;

		if(count >501)
		{
			break;
		}

		count=0;
	}

	cout<<"end sq"<<sq<<"  count"<<count<<endl;	

}

11問目

斜めって2方向あるんですよ奥さん。

In the 2020 grid below, four numbers along a diagonal line have been marked in red.

08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65
52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91
22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80
24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50
32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21
24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72
21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95
78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92
16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57
86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58
19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40
04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66
88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69
04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36
20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16
20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54
01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48
The product of these numbers is 26 63 78 14 = 1788696.

What is the greatest product of four adjacent numbers in any direction (up, down, left, right, or diagonally) in the 2020 grid?

#include <iostream>
#include <math.h>
using namespace std;
int main(){	

int num[20][20];
int max=0;

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



for(int i=0;i<20;i++)
{
	for(int n=0;n<20;n++)
	{
		
		if(n>=3)
		{
			if(max< num[i][n-3]*num[i][n-2]*num[i][n-1]*num[i][n])max=num[i][n-3]*num[i][n-2]*num[i][n-1]*num[i][n];
			if(max< num[n-3][i]*num[n-2][i]*num[n-1][i]*num[n][i])max=num[n-3][i]*num[n-2][i]*num[n-1][i]*num[n][i];
		}

		if(n>=3&&i>=3)
		{
			if(max < num[i-3][n-3]*num[i-2][n-2]*num[i-1][n-1]*num[i][n])max=num[i-3][n-3]*num[i-2][n-2]*num[i-1][n-1]*num[i][n];
			if(max < num[i-3][n]*num[i-2][n-1]*num[i-1][n-2]*num[i][n-3])max=num[i-3][n]*num[i-2][n-1]*num[i-1][n-2]*num[i][n-3];
		}

		cout<<max<<endl;	
			
	}

	
	}

cout<<"this is ans:"<<max<<endl;

}