约数个数
来自:2020年十一届省赛大学C组真题(共9道题)
分析:
约数是什么?
整数a/整数b(b!=0),能够整除,b就是a的约数。a称为b的倍数。 约数也称为因子。
代码:
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
int num = 1200000;
int ans = 0;
for(int i=1;i <=num;i++){
if(num % i ==0) ans++;
}
cout << ans;
return 0;
}
特别数的和
来自:2019年十届省赛大学B组真题(共10道题)
分析:利用取余和除法判断每一位是否符合即可。
代码:
#include <iostream>
using namespace std;
int main() {
// 请在此输入您的代码
int n,j,k; //j和k为辅助作用
cin >> n;
int ans=0;
for(int i=1; i<=n; i++) {
j=i;
while(j) {
k= j%10; //先从个位看
if(k==2 || k== 0 || k==1 || k==9) {
ans+=i;
break;
}
j =j/10; //不符合条件看十位、百位...
}
}
cout << ans;
return 0;
}
年号字串
分析:用excel更好求解:
按行填充到2019,excel使用的就是这个定义规则。
结果:
代码:
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
cout << "BYQ";
return 0;
}
奇妙的数字
来自:2015年六届省赛大学C组真题(共6道题)
分析:直接暴力求解,使用C++的api。
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 请在此输入您的代码
for(long long i=1;;i++){
long long num1=i*i;
long long num2=i*i*i;
string str = to_string(num1)+to_string(num2);
sort(str.begin(),str.end());
if(str!="0123456789") continue;
cout << i;
break;
}
}
运行结果是69,我们直接输出69即可。
饮料换购
来自:2015年六届省赛大学C组真题(共6道题)
分析:按照题意模拟即可。
代码:
#include <iostream>
using namespace std;
int main() {
// 请在此输入您的代码
int n;
cin >> n;
int ans=n;
while(n>=3) {
int yu=n%3;
n=n/3;
ans+=n;
n+=yu;
}
cout << ans;
return 0;
}
奖券数目
来自:2015年六届省赛大学B组真题(共6道题)
分析:根据题意模拟即可。
代码:
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
int ans=0;
for(int i=10000;i<=99999;i++){
string str = to_string(i);
if(str.find('4') == -1){ //等于-1即没找到
ans++;
}
}
cout << ans;
return 0;
}
pow函数的使用
用于计算计算x的y次幂:double pow( double base, double exp );