69,573
社区成员
发帖
与我相关
我的任务
分享
#include<bits/stdc++.h>
using namespace std;
int ans=0,cnt=0;
int yinshu(int a){
for(int i=1;i<=a;i++){
if(a%i==0) ans++;
}
}
int youxiushu(int b){
for(int i=1;i<=b;i++){
if(yinshu(i)<=4){
cnt++;
}
ans=0;
}
return cnt;
}
int main(){
int n;
cin>>n;
cout<<youxiushu(n);
}
来源:信友队上【语法】循环嵌套第七题(XJOI 7970)
原题:
时间限制: 1000ms
空间限制: 524288kB
时间限制:0.2 内存限制:32M
描述:
小马希望你帮助确定一个数字是否好。
他认为一个数是极好的当且仅当它的因数不超过四个。
找出小于或等于 n 的优秀数的总数。
输入:
一个正整数 n
输出:
表示答案的数字。
样本输入 1:
5
样本输出 1:
5
约束:
1<=n<=100000
#include <iostream>
using namespace std;
bool isGood(int n) {
int count = 0;
for (int i = 1; i * i <= n; i++) {
if (n % i == 0) {
count++;
if (i != n / i) {
count++;
}
}
}
return count <= 4;
}
int main() {
int n;
cin >> n;
int ans = 0;
for (int i = 1; i <= n; i++) {
if (isGood(i)) {
ans++;
}
}
cout << ans << endl;
return 0;
}
yinshu函数应当有一个返回值。可在函数内部设置一个变量y,把ans++改成y++,最后return y。
你的第一个函数是不是没有返回值