문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여
그 순서대로 자연수를 만 듭니다.
만들어진 자연수와 그 자연수의 약수 개수를 출력합니다.
1.문자열을 입력받거나 읽어온다.
2.문자열에서 숫자만 추출한다.
3.추출된 숫자의 약수를 구한다.
힌트: 0~9는 아스키코드 48~57이다.
숫자가 더해질때마다 십의 자리가 증가한다.
#include <stdio.h>
using namespace std;
int main(int argc, char** argv) {
//freopen("input.txt", "rt", stdin);
char a[100];
scanf("%s", &a);
int res = 0, cnt=0;
for(int i = 0; a[i] !='\0'; i++){
if(a[i] >= 48 && a[i] <= 57){
res = res*10+(a[i]-48);
}
}
printf("%d\n",res);
for(int i = 1; i <= res; i++){
if(res%i == 0){
cnt ++;
}
}
printf("%d\n",cnt);
return 0;
}
'개발 소발 > 개발 알고리즘' 카테고리의 다른 글
알고리즘 - 올바른 괄호 C++ 구현 (0) | 2019.09.04 |
---|---|
알고리즘 - 영어단어 복구 C++구현 (0) | 2019.09.04 |
알고리즘 - 진약수의 합 C++ 구현 (0) | 2019.09.04 |
알고리즘 - 1부터 N까지 M의 배수합 C++ 구현 (0) | 2019.09.04 |
알고리즘을 공부해야하는이유,방법 알고리즘의 조건 (0) | 2018.08.24 |