2581번 - 소수
//FindOfMinimumPrimeNumberAndPrimeNumberSum.c/*파일명칭:FindOfMinimumPrimeNumberAndPrimeNumberSum.c기능:첫번째수와두번째수를 입력받아 사이에 있는 소수들의 합을 구하고 제일 적은 소수를 구한다작성자:러블작성일자:2017년5월27일*///매크로선언#include <stdio.h>#pragma warning (disable:4996)//자료형설계typedef unsigned long int ULong;//함수선언int main(int argc, char *argv[]);void Input(ULong *firstNumber, ULong *secondNumber);void FindOfMinimumPrimeNumberAndPrimeNumberSum(ULong firstNumber, ULong secondNumber, ULong *minimumPrimeNumber, ULong *sum);void Output(ULong firstNumber, ULong secondNumber, ULong minimumPrimeNumber, ULong sum);//함수정의int main(int argcc, char *argv[]){ ULong firstNumber; ULong secondNumber; ULong minimumPrimeNumber; ULong sum; Input(&firstNumber, &secondNumber); FindOfMinimumPrimeNumberAndPrimeNumberSum(firstNumber, secondNumber, &minimumPrimeNumber, &sum); Output(firstNumber, secondNumber, minimumPrimeNumber, sum); return 0;}/*함수이름:Input기능:키보드로부터 첫번째수와두번째수를 입력받는다입력:X출력:첫번째수,두번째수*/void Input(ULong *firstNumber, ULong *secondNumber){ scanf("%d %d", firstNumber, secondNumber);}/*함수이름:FindOfMinimumPrimeNumberAndPrimeNumberSum기능:입력받은 첫번째수와두번째수사이에 있는 소수들의 합을 구하고 제일 적은 소수를 구한다입력:첫번째수,두번째수출력:소수들의합,제일적은소수*/void FindOfMinimumPrimeNumberAndPrimeNumberSum(ULong firstNumber, ULong secondNumber, ULong *minimumPrimeNumber, ULong *sum){ ULong temp; ULong i; ULong remainder; ULong count ; *sum = 0; *minimumPrimeNumber = 0; temp = firstNumber; while (temp <= secondNumber) { i = 2; count = 0; while (i < temp &&count == 0) { remainder = temp%i; if (remainder == 0) { count++; } i++; } if (count == 0 && temp!=1) { *sum += temp; if (*minimumPrimeNumber == 0 || temp < *minimumPrimeNumber) { *minimumPrimeNumber = temp; } } temp++; }}/*함수이름:Output기능:소수들의합과제일적은소수를 입력받아 모니터로 출력한다입력:첫번째수,두번째수,소수들의합,제일적은소수출력:X*/void Output(ULong firstNumber, ULong secondNumber, ULong minimumPrimeNumber, ULong sum){ printf("소수들의합:%d\n제일적은소수:%d", sum, minimumPrimeNumber);}
댓글을 작성하려면 로그인해야 합니다.
wsx3672 6년 전
//FindOfMinimumPrimeNumberAndPrimeNumberSum.c
/*
파일명칭:FindOfMinimumPrimeNumberAndPrimeNumberSum.c
기능:첫번째수와두번째수를 입력받아 사이에 있는 소수들의 합을 구하고 제일 적은 소수를 구한다
작성자:러블
작성일자:2017년5월27일
*/
//매크로선언
#include <stdio.h>
#pragma warning (disable:4996)
//자료형설계
typedef unsigned long int ULong;
//함수선언
int main(int argc, char *argv[]);
void Input(ULong *firstNumber, ULong *secondNumber);
void FindOfMinimumPrimeNumberAndPrimeNumberSum(ULong firstNumber, ULong secondNumber, ULong *minimumPrimeNumber, ULong *sum);
void Output(ULong firstNumber, ULong secondNumber, ULong minimumPrimeNumber, ULong sum);
//함수정의
int main(int argcc, char *argv[])
{
ULong firstNumber;
ULong secondNumber;
ULong minimumPrimeNumber;
ULong sum;
Input(&firstNumber, &secondNumber);
FindOfMinimumPrimeNumberAndPrimeNumberSum(firstNumber, secondNumber, &minimumPrimeNumber, &sum);
Output(firstNumber, secondNumber, minimumPrimeNumber, sum);
return 0;
}
/*
함수이름:Input
기능:키보드로부터 첫번째수와두번째수를 입력받는다
입력:X
출력:첫번째수,두번째수
*/
void Input(ULong *firstNumber, ULong *secondNumber)
{
scanf("%d %d", firstNumber, secondNumber);
}
/*
함수이름:FindOfMinimumPrimeNumberAndPrimeNumberSum
기능:입력받은 첫번째수와두번째수사이에 있는 소수들의 합을 구하고 제일 적은 소수를 구한다
입력:첫번째수,두번째수
출력:소수들의합,제일적은소수
*/
void FindOfMinimumPrimeNumberAndPrimeNumberSum(ULong firstNumber, ULong secondNumber, ULong *minimumPrimeNumber, ULong *sum)
{
ULong temp;
ULong i;
ULong remainder;
ULong count ;
*sum = 0;
*minimumPrimeNumber = 0;
temp = firstNumber;
while (temp <= secondNumber)
{
i = 2;
count = 0;
while (i < temp &&count == 0)
{
remainder = temp%i;
if (remainder == 0)
{
count++;
}
i++;
}
if (count == 0 && temp!=1)
{
*sum += temp;
if (*minimumPrimeNumber == 0 || temp < *minimumPrimeNumber)
{
*minimumPrimeNumber = temp;
}
}
temp++;
}
}
/*
함수이름:Output
기능:소수들의합과제일적은소수를 입력받아 모니터로 출력한다
입력:첫번째수,두번째수,소수들의합,제일적은소수
출력:X
*/
void Output(ULong firstNumber, ULong secondNumber, ULong minimumPrimeNumber, ULong sum)
{
printf("소수들의합:%d\n제일적은소수:%d", sum, minimumPrimeNumber);
}