#if0#include<iostream>usingnamespace std;//求N的阶乘intfac(int n){if(n <=1)return1;elsereturn n *fac(n -1);}intmain(){int num;
cin >> num;int ret =0;for(int i =1; i <= num; i++){
ret +=fac(i);}
cout << ret << endl;}/**************************************************************************************/#elif0//判断素数#include<iostream>usingnamespace std;boolis_suNum(int n){if(n <=1)returnfalse;for(int i =2; i < n; i++){if(n % i ==0){returnfalse;break;}}returntrue;}intmain(){int num;
cin >> num;if(is_suNum(num)){
cout <<"T"<< endl;}else{
cout <<"F"<< endl;}}/**************************************************************************************/#elif0//进制转换#include<iostream>#include<stack>usingnamespace std;//将十进制转换为十六进制
stack<int>change(int num){
stack<int> charStack;while(num){
charStack.push(num %16);
num /=16;}return charStack;}intmain(){char str[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};int num;
cin >> num;
stack<int> numStack =change(num);while(!numStack.empty()){int ret = numStack.top();
cout << str[ret];
numStack.pop();}}/**************************************************************************************/#elif0//纯粹合数#include<iostream>usingnamespace std;//合数判断:除了1和本身外,还能被其他非0整数整除boolisHe(int num){if(num <=1)returnfalse;for(int i =2; i < num; i++){if(num % i ==0){returntrue;}}returnfalse;}intmain(){//求所有的三位纯粹合数for(int i =100; i <=999; i++){int flag =1;int n = i;while(n){if(isHe(n)){
n /=10;continue;}else{
flag =0;break;}}if(flag){
cout << i <<' ';}}}/**************************************************************************************/#elif0//找零//商家有零钱无限张,面值为:50,20,10,5,1//问:如果想找x元,问如何找零使得总的零钱张数最少#include<iostream>usingnamespace std;intmain(){int x;
cin >> x;int wu = x /50;
x = x - wu *50;int er = x /20;
x = x - er *20;int sh = x /10;
x = x - sh *10;int w = x /5;
x = x - w *5;int y = x /1;printf("50元%d张,20元%d张,10元%d张,5元%d张,1元%d张\n一共%d张\n", wu, er, sh, w, y, wu + er + sh + w + y);}/**************************************************************************************/#elif0//改进#include<iostream>usingnamespace std;intmain(){int money[]={50,20,10,5,1};int count =0;int x,i=0;
cin >> x;int ret = x;while(x){
count += x / money[i];
x = x % money[i];
i++;}
cout << ret <<"找零总张数为:"<< count << endl;}/**************************************************************************************/#elif0//寻找最小值#include<iostream>usingnamespace std;intmain(){int a[100][100];int n;
cin >> n;for(int i =0; i < n; i++){for(int j =0; j < n; j++){
cin >> a[i][j];}}int min = a[0][0];int minI =0, minJ =0;for(int i =0; i < n; i++){for(int j =0; j < n; j++){if(a[i][j]< min){
min = a[i][j];
minI = i;
minJ = j;}}}
cout <<"最小值为:"<< min <<",行号为"<< minI+1<<",列号为"<< minJ+1<< endl;}/**************************************************************************************/#elif0#include<iostream>usingnamespace std;boolfun(int n){//判断n能否被3且7整除if(n %3==0&& n %7==0){returntrue;}returnfalse;}intmain(){int count =0,sum=0;for(int i =0; i <=5000;i++){if(fun(i)){
count++;
cout << i <<' ';
sum += i;if(count==10){
count =0;
cout << endl;}}}
cout << endl << sum;}/**************************************************************************************/#elif0//绝对素数#include<iostream>usingnamespace std;//判断素数boolisSu(int n){if(n <=1)returnfalse;for(int i =2; i < n; i++){if(n % i ==0){returnfalse;}}returntrue;}//反转intreNum(int num){int ret =0;while(num){
ret = ret *10+(num %10);
num /=10;}return ret;}intmain(){for(int i =10; i <100; i++){if(isSu(i)&&isSu(reNum(i))){
cout << i <<' ';}}}/**************************************************************************************/#elif0//字符串加密#include<iostream>usingnamespace std;voidencode(char* s,char* d){int i;char ch[2][10]={"aceghjlnp","fonptiude"};for(;*s !='\0'; s++, d++){for(i =0; i <9; i++){if(*s == ch[0][i]){*d = ch[1][i];break;}}if(i ==9){*d =*s;}}*d ='\0';}intmain(){char str[80]="those word will be changed";char td[80];encode(str, td);puts(td);}/**************************************************************************************/#elif1//亲密数对#include<iostream>usingnamespace std;//求因子和intfun(int n){int sum =0;for(int i =1; i < n; i++){if(n % i ==0)
sum += i;}return sum;}intmain(){/*
for (int i = 6; i <= 10000; i++) {
for (int j = 6; j <= 10000; j++) {
if (i != j && fun(i) == j && fun(j) == i) {
cout << i << ' ' << j << endl;
}
}
}//时间复杂度高
*/int a, b;for(int a =6; a <=10000; a++){
b =fun(a);if(a ==fun(b)&& a != b){
cout << a <<','<< b << endl;}}}/**************************************************************************************/#elif0#endif