今天进入自制函数。
自制函数,需要自己定义其功能。比如,设置一个没有参数没有返回值的积木,叫“aaa”。那么,如果想要运行“aaa”,就需要以下代码:
void aaa();? ? ? ? ? ? ? ? ? ? ? 告诉系统有“aaa”这个积木。
aaa();? ? ? ? ? ? ? ? ? ? ? ? ? ?执行aaa的内容
void aaa()? ? ? ? ? ? ? ? ? ? ? }
{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ?? ? ? ? ? ??? ? ? ? ? ? ? ? ?}? ?定义aaa的作用? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }?(在“return;”上方黄色部分写“aaa”的内容)
? ? ? ? ?return;? ? ? ? ? ? ? ? }
}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
加上基本框架并连起来就是:
#include <iostream>
using namespace std;
void aaa();
int main()
{
?? ?aaa();
?? ?return 0;
}
void aaa()
{
?? ?
?? ?return;
}
自制函数有多种类型,bool、int等都行,只要定义上即可。上方涂蓝的部分就是函数的类型,如果此函数没有参数也没有返回值,涂蓝部分就是void。函数有两个可有可无的部分,就是参数和返回值。上方代码涂红的地方是出来的结果——返回值。而上方代码涂绿的部分就是参数。括号里的参数就相当于输入的值,bool、int等都行。
话不多说,直接进题。
#include <iostream>
using namespace std;
bool aaa(int);
int main()
{
for(int i = 1000;i<=3000;i++)
{
int a1 = i/100%10;
int a2 = i/10%10;
int a3 = i/1%10;
int a = a1*100+a2*10+a3;
int b = a2*10+a3;
int c = a3;
if(aaa(a)==true&&aaa(b)==true&&aaa(c)==true&&aaa(i)==true)
{
cout<<i<<endl;
}
}
return 0;
}
bool aaa(int q)
{
if(q==1) return false;
if(q==2) return true;
for(int j = 2;j*j<=q;j++)
{
if(q%j==0) return false;
}
return true;
}
#include <iostream>
using namespace std;
int aaa(int);
int main()
{
for(int i = 100;i<999;i++)
{
int a = i/100%10;
int b = i/10%10;
int c = i/1%10;
if(aaa(a)+aaa(b)+aaa(c)==i)
{
cout<<i<<endl;
}
}
return 0;
}
int aaa(int q)
{
int sum = 1;
for(int j = 2;j<=q;j++)
{
sum = sum*j;
}
return sum;
}
#include <iostream>
using namespace std;
int aaa(int);
int main()
{
int n;
cin>>n;
for(int i = 2;i<=n;i++)
{
int sum1 = aaa(i);
int sum2 = aaa(aaa(i));
if(aaa(sum2)==sum1&&aaa(sum1)==i&&sum1!=0&&sum2!=0)
{
cout<<sum2<<" "<<sum1<<endl;
}
}
return 0;
}
int aaa(int q)
{
int sum = 0;
for(int j = 2;j<q;j++)
{
if(q%j==0)
{
sum = sum+j;
}
}
return sum;
}
#include <iostream>
using namespace std;
bool aaa(int);
int main()
{
int n;
cin>>n;
int cnt = 0;
for(int i = 1;i<=n;i++)
{
if(aaa(i)==true)
{
cnt++;
}
}
cout<<cnt;
return 0;
}
bool aaa(int q)
{
if(q/10==0) return true;
int t = q;
int sum = 0;
while(t!=0)
{
sum++;
t = t/10;
}
t = q;
for(int j = 1;j<=sum/2;j++)
{
int a1 = t/j%10;
int t2 = 10;
for(int k = 1;k<(sum-j);k++)
{
t2 = t2*10;
}
int a2 = t/t2%10;
if(a1!=a2)
{
return false;
}
}
return true;
}