Tìm tất cả các số có 3 chữ số sao cho tổng lập phương của
các chữ số bằng chính số đó Ví dụ: 153=13+53+33 Dữ liệu xuất
Xuất ra file LP.OUT, mỗi dòng là một số tìm được.
Uses crt; Var i:longint; f:text; function test(a:longint):boolean; Var j,x:longint; Begin x:=a; j:=0; While a<>0 do Begin j:=j+(a mod 10)*(a mod 10)*(a mod 10); a:=a div 10; end; If j=x then exit(true) else exit(false); end; Begin assign(f,'LP.OUT'); rewrite(f); For i:=100 to 999 do If test(i)=true then Writeln(f,i); close(f); end.
var i,a,b,c:integer; begin assign (output,'D:\Dong\LP2.txt'); rewrite (output); for i:=100 to 999 do begin a:=i div 100; b:=(i div 10) mod 10; c:=i mod 10; if a*a*a+b*b*b+c*c*c=i then writeln (i); end; close (output); end.
int main() { freopen ("LP.OUT","w",stdout); for (int i=100;i<1000;i++){ int t =i/100; int c =(i/10)%10; int dv=i%10; if (t*t*t+c*c*c+dv*dv*dv==i){ cout << i << endl; } } return 0; }
Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!
Uses crt;
Trả lờiXóaVar i:longint;
f:text;
function test(a:longint):boolean;
Var j,x:longint;
Begin
x:=a;
j:=0;
While a<>0 do
Begin
j:=j+(a mod 10)*(a mod 10)*(a mod 10);
a:=a div 10;
end;
If j=x then exit(true) else exit(false);
end;
Begin
assign(f,'LP.OUT');
rewrite(f);
For i:=100 to 999 do
If test(i)=true then Writeln(f,i);
close(f);
end.
#include
Trả lờiXóausing namespace std;
bool check(int x) {
int sum = 0, y=x;
while (x) {
int z = x%10; x/=10;
sum+=(z*z*z);
}
return sum==y;
}
int main() {
freopen("LP.out", "w", stdout);
for(int i=100; i<=999; i++)
if (check(i)) cout << i << "\n";
return 0;
}
#include
Trả lờiXóausing namespace std;
int main(int argc, char** argv) {
int d,b,k;
for (int a=100;a<1000;a++)
{
d=a%10;
b=(a/10)%10;
k=a/100;
if (a==(d*d*d)+(b*b*b)+(k*k*k))
{
cout <<""<<a<<"\n";
}
}
return 0;
}
#include
Trả lờiXóa#include
using namespace std;
int main(int argc, char** argv) {
int a,b,c;
ofstream cout;
cout.open("D:/Dong/LP.txt");
for (int i=100;i<1000;i++){
a=i/100;
b=(i%100)/10;
c=i%10;
if (a*a*a+b*b*b+c*c*c==i) cout <<i<<endl;
}
cout.close();
return 0;
}
var i,a,b,c:integer;
Trả lờiXóabegin
assign (output,'D:\Dong\LP2.txt');
rewrite (output);
for i:=100 to 999 do
begin
a:=i div 100;
b:=(i div 10) mod 10;
c:=i mod 10;
if a*a*a+b*b*b+c*c*c=i then writeln (i);
end;
close (output);
end.
Nhận xét này đã bị tác giả xóa.
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóa#include
Trả lờiXóausing namespace std;
int main()
{ freopen ("LP.OUT","w",stdout);
for (int i=100;i<1000;i++){
int t =i/100;
int c =(i/10)%10;
int dv=i%10;
if (t*t*t+c*c*c+dv*dv*dv==i){
cout << i << endl;
}
}
return 0;
}