Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cmath>
- using namespace std;
- int checkArmstrong(int);
- int checkPerfect(int);
- int main()
- {
- int n=1,accuArm=0,accuPerfect=0;
- while(n>0 && n<=1000){
- cin>>n;
- accuPerfect += checkPerfect(n);
- accuArm += checkArmstrong(n);
- }
- cout<<accuArm<<endl;
- cout<<accuPerfect;
- return 0;
- }
- int checkPerfect(int n)
- {
- int acumulador = 0;
- for(int i=1 ; i<n ; i++){
- if(!(n%i))
- acumulador += i;
- }
- if(n==acumulador)
- return 1;
- else
- return 0;
- }
- int checkArmstrong(int n)
- {
- int aux = n;
- int digito;
- int cant_digitos = 0;
- int acumulador = 0;
- // Contar digitos
- while(aux>0){
- cant_digitos++;
- aux = aux/10;
- }
- // Sumar digitos
- aux = n;
- while(aux>0){
- digito = aux%10;
- acumulador += pow(digito,cant_digitos);
- aux /= 10;
- }
- if(n == acumulador)
- return 1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement