본문 바로가기

programming/알고리즘 풀이

백준- 함수 #15596 - 정수 N개의 합 #1065- 한수 [C/C++/PYTHON]

반응형
SMALL

#15596

더보기

C

#include <stdio.h>

int arr_sum(int* num, int size);

int main()
{
	int n = 0, sum =0;
	scanf("%d",&n);
	int a[n];
	sum = arr_sum(a,n);

return sum;
}

int arr_sum(int* num, int size)
{
	int result= 0;
	int i = -1;
	for (i =0 ; i< size ; i++)
	{
		result += num[i];
	}
	return result;
}
/*******************문제에서 제시하는 코드는 아래의 코드다***************/
long long sum(int *a, int n) 
{
    int i;
    
	long long ans = 0;
	
    for(i= 0 ; i < n ; i++)
    {
        ans = a[i] + ans;
    }
    
    return ans;
}

C++

vector 자료형에 대해 우선 알아보자 

vector 컨테이너는 자동으로 메모리가 할당되는 배열이다.

사용법은 따로 포스팅하여 *** 정리해두고자한다 

#include <vector>
long long sum(std::vector<int> &a) {
	long long ans = 0;
    for(int i ; i<a.size(); i++)
    {
        ans += a[i];
    }
	return ans;
}

 


PYTHON

리스트 a의 길이를 range로 반환하여 ans값을 획득하면된다.

def solve(a):
    ans = 0
    for i in range(len(a)):
        ans += a[i];
    return ans

#1065

더보기

한수 , X의 각자리가 등차수열이면 한수이다. 

C

#include <stdio.h>
int han(int N)
{
    
    if (N<100)
        printf("%d",N);
    else
    {
        int i;
        int cnt;
        int A, B, C; 
        cnt = 99;
        for (i = 100; i <=N; i++)
        {
            A = i / 100;
            B = i / 10 % 10;
            C = i % 10;
 
            if ((C - B) == (B - A))
                cnt++;
        }
        printf("%d", cnt);
    }
    return 0;
}
int main()
{
    int N;
    scanf("%d", &N);
    han(N);
}

C++

#include <iostream>
using namespace std;

int han(int N)
{
    
    if (N<100)
        cout<<N<<endl;
    else
    {
        int i;
        int cnt;
        int A, B, C; 
        cnt = 99;
        for (i = 100; i <=N; i++)
        {
            A = i / 100;
            B = i / 10 % 10;
            C = i % 10;
 
            if ((C - B) == (B - A))
                cnt++;
        }
        cout<<cnt<<endl;
    }
    return 0;
}
int main()
{
    int N;
    cin>>N;
    han(N);
}

Python

def hansu(num):
    han = 0
    for n in range(1,num+1):
        if n<100:
            han += 1
        else:
            number = list(map(int, str(n)))
            if number[0]-number[1] == number[1] - number[2]:
                han +=1
    return han
num = int(input())
print(hansu(num))

 

반응형
LIST