中级光能
4863 完全立方数经验值:0
题目描述 Description
求1~m内的完全立方数。
完全立方数为:该数可以分解成一个数的立方形式,
比如8可以分解成2的立方,27可以分解成3的立方,则8和27都是完全立方数。
输入描述 Input Description
第一行,一个数n,表示接下来有n组测试数据
第2行–第n+1行,每行1个数,m,求1–m范围内的立方数有哪些
输出描述 Output Description
输出n组数据
每组数据2行,第一行为满足范围内的数,空格隔开
第二行为满足条件数的个数
样例输入 Sample Input
2 1 30
样例输出 Sample Output
1 1 1 8 27 3
数据范围及提示 Data Size & Hint
n<=100,m<=10000
个个
Time Limit Exceeded
#include<iostream>
using namespace std;
int n,a,sum;
bool t(int x){
for(int i=1;i<=x;i++){
if(i*i*i==x){
return true;
}
}
return false;
}
void k(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
for(int i=1;i<=a;i++){
if(t(i)){
sum++;
cout<<i<<" ";
}
}
cout<<endl;
cout<<sum<<endl;
sum=0;
}
}
int main(){
k();
return 0;
}
中级天翼
可以不用函数的孩子
首先你要有个计数器,然后输入数组,接着判断j*j*j<=a[i],是就输出j*j*j和空格,然后计数器++,不是就直接break。
然后输出cout<<"\n"<<cnt<<"\n";
循环这样写:
for(int i=1;i<=n;i++){
for(int j=1;j<=sqrt(a[i]);j++){
...........
}
}
输出是在循环外部输出的,省略号里写我讲的思路,别忘了先要输入数组~
望采纳~(打字不易)