Kiểm tra một số có phải số amstrong không

#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
int main()
{
    long i,n,s=0,m,t;
    cin>>n;
    for(i=1;i<=100;i++)
	{
		n=n/10;
		if(n==0){break;}
	}
	t=i;
	m=n;
	for(i=1;i<=t;i++)
	{
		s=s+pow((n%10)*1.0,t);
		n=n/10;
	}
	if(m==s){cout<<"True";}
    else{cout<<"False";}
    return 0;
}

Mọi người kiểm tra giúp em code với ạ em đang bị sai.Tks nhiều!!!

Nói chung là đừng dùng pow :smiley: vì số mũ là số nguyên.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?