#include
#include
using namespace std;
int main(){
for(int i=100; i<=999; ++i){
int a, b, c, temp;
a = i/100; //百位
b = i/10%10; //十位
c = i%10; //个位
temp = pow(a, 3) + pow(b, 3) + pow(c, 3);
if(i == temp){
cout << i << endl;
}
}
return 0;
}
数据量较小,直接暴力。
#include
#include
using namespace std;
int main(){
int a, b, c, temp=1;
while(scanf("%d%d%d", &a, &b, &c) == 3){
int num=0;
for(int i=10; i<=100; i++){
if(i%3 == a && i%5 == b && i%7 == c){
num = i;
}
}
if(num){
printf("Case %d: %d", temp++, num);
}
else{
printf("Case %d: No answer", temp++);
}
}
return 0;
}
#include
#include
using namespace std;
int main(){
int n;
cin >> n;
int arr[20], temp=1;
for(int i=0; i<20; i++){
arr[i] = temp;
temp += 2;
}
for(int i=n-1; i>=0; --i){
for(int j=1; j<n-i; j++){ // 控制输出每行前的空格,精华所在
cout << " ";
}
for(int k=0; k<arr[i]; k++){
cout << "*";
}
cout << endl;
}
return 0;
}
#include
#include
using namespace std;
int main(){
int n, m, temp=1;
while(scanf("%d%d", &n, &m) == 2){
if(n==0 && m==0){ //结束标记
break;
}
double sum=0.0;
for(int i=n; i<=m; i++){
sum += 1.0/(pow(i, 2));
}
printf("Case %d: %.5lf\n", temp++, sum);
}
return 0;
}
注意:本题提示有陷阱(第二组数据 65536 65560)
#include
using namespace std;
int main(){
double a, b;
int c, temp=1;
while(scanf("%lf%lf%d", &a, &b, &c) == 3){ // c 按整数读入
if(a==0 && b==0 && c==0){ //结束标记
break;
}
printf("Case %d: %.*lf\n", temp++, c, a/b); // %.*lf 指定输出位数
}
return 0;
}
指定输出小数位数可以参考:printf函数用变量指定输出小数位数