U E D R , A S I H C RSS

최소정수�합/송지훈

~cpp
find = [n+1|n <- [1..], (n*(n+1)/2) <= 3000 <= ((n+1)*(n+2)/2)]

풀�
=> n� 범위를 무한대� �연수로 잡고, n까지� 합과 n+1까지� 합 사�� 3000� 들어가는

그러한 n+1� 찾아보려고 �� 저렇게 �습니다.

최대한 haskell로 짜보려고 노력했는� 안�네요...

조건 제시법� 쓰는 방법� 잘못�건지...

아니면 수��서 어딘가 잘못 쓴 부분� 있는 건지...
-> 파싱 �러, 즉 구문 �러가 나는 코드입니다. (<=) 함수가 어떤 전달��를 받는지 알아보세요.
while 문� 쓰는 것� 필수 보조조건�었는� haskell� while문 쓰는 법� 있나요?
-> 그러고 보니 while 함수를 만들어서 �� �겠다는 ���..

아니면 다른 대부분� 맴버들처럼 C나 C++로 하는게 � 나�가요?
----
Haskell�서 굳� 반복�란 개�� 사용하지 않아� �잖아요?ㅋㅋ 최소정수�합/임��2 � 한 번 보세요.
----

C++로 한번 짜봤슴다.


~cpp
#include <iostream>

using std::cout;
using std::endl;

int main()
{
	int sum = 0, integer = 1;

	while(sum <= 3000)
	{
		sum = sum + integer;
		integer++;
	}
	cout << "The smallest 'n' for making the number what we want" << endl;
	cout << "-->" << integer << endl;
	cout << "Total sum is " << sum << endl;

	return 0;
}

9/24
가드 (|)를 �서 조건문 형�으로 다시 짰습니다.
~cpp
little_sum (x:xs) y
 |y <= 0 = 0
 |otherwise = x + little_sum xs (y-x)

근� �렇게만 하면 구하려는 최소 정수값� 알 수가 없어서

요리조리 해보려고 했는� 잘 모르겠슴다...-_-;
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:16
Processing time 0.0042 sec