三连击
一道水题(我这种写法要判断是否有0)
#include <iostream>
using namespace std;
bool mark[13]={0};
inline bool judge(int num)
{
for(int i=0;i<11;i++)
{
mark[i]=false;
}
for(int i=1;i<=3;i++)
{
int x,y,z;
int temp=i*num;
x=temp%10;temp=temp/10;
y=temp%10;temp=temp/10;
z=temp%10;if(x==0||y==0||z==0)return false;
if(!mark[x])mark[x]=true;
else return false;
if(!mark[y])mark[y]=true;
else return false;
if(!mark[z])mark[z]=true;
else return false;
}
return true;
}
int main()
{
for(int i=123;i<=333;i++)
{
if(judge(i))cout<<i<<' '<<i*2<<' '<<i*3<<endl;
}
}
级数求和
白给题
#include <iostream>
using namespace std;
int main()
{
double k;cin>>k;
double n=0,sum=0;
while(sum<=k)
{
n++;
sum+=1/n;
}
cout<<n;
}
小玉在游泳
白给题
#include <iostream>
using namespace std;
int main()
{
double k;cin>>k;
double n=2,sum=0;
int count=0;
while(sum<=k)
{
sum+=n;
count++;
n=n*0.98;
}
cout<<count;
}
小鱼的航程(改进版)
依旧白给
#include <iostream>
using namespace std;
int main()
{
int x;cin>>x;
int n;cin>>n;
int num=n/7;
int left=n%7;
int sum=num*5*250;
for(int i=0;i<left;i++)
{
if((x+i)%7==6||(x+i)%7==0)continue;
else sum+=250;
}
cout<<sum;
}
计数问题
白给题,遍历一下
#include <iostream>
using namespace std;
int mycount[10]={0};
void myfunction(int num)
{
while(num!=0)
{
mycount[num%10]++;
num/=10;
}
}
int main()
{
int max,n;cin>>max>>n;
for(int i=1;i<=max;i++)
{
myfunction(i);
}
cout<<mycount[n];
}