/*
*********************************************
*不使用中间变量,将两个整数的值交换
* int a b;
* a=a+b;
* b=a-b;
* a=a-b;
*此答案未考虑到溢出的问题
*********************************************
*int 正数的最大值 2^32-1
*补码: 正数的补码是起本身,负数的补码:绝对值的源码取反+1
*有符号:最高位是符号位 1:负数 0:正数
* a=a^b;
* b=a^b;
* a=a^b;
*/
int main(int argc ,char *argv[])
{
int a,b;
scanf("%d %d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d, %d\n",a,b);
}

#include<stdio.h>
#include<math.h>
#define N 100
/*********************************************
*质数/素数:除了1和本身以外不能被别的数所整除
*求1-100以内所有的素数
*********************************************
*/
int main(int argc,int argv[])
{
int i,j;
for(i=3;i<=N;i=i+2)
{
for(j=3;j<=(i/2);j+=2)
{
if((i%j) == 0)
{
break;
}
}
if(j>=i/2)
{
printf(" %d",i);
}
}
printf("\n");
}

/*
************************************************************
* 求100-999之间的所有水仙花数
* 153=1^3+5^3+3^3
* 某个数=个数的立方+十位的立方+百位的立方
* 重点:求一个3位数的个位 十位 百位
************************************************************
*/
//int accum(int n);
int calculate(const int i);
int main(int argc, char argv[])
{
//int uint,decade,hundreds;//uint:个位 decade:十位 hundreds:百位
int count=0,i;
for( i=100;i<=N;i++)
{
int temp=calculate(i);
if(temp==i)
{
printf("%5d",i);
count++;
}
//if(count%5==0)
//printf("\n");
}
printf("\n");
}
/*
*********************************
* 数的累积
*********************************
*/
int accum(int n)
{
return n*n*n;
}
/*
*********************************
* 数的个位 十位 百位
*********************************
*/
int calculate(const int i)
{
int ones,decade,hundreds; //ones:个位 decade:十位 hundreds:百位
ones=i%100%10; //个位
decade=i/10%10; //十位
hundreds=i/100; //百位
int sum=0;
sum=ones*ones*ones+decade*decade*decade+hundreds*hundreds*hundreds;
//return accum(ones)+accum(decade)+accum(hundreds);
return sum;
}

/*
**************************************************
* 求1000以内的所有的完数
* 完数=所有的因子的和(不包括本身)
* 6=1+2+3
**************************************************
*/
int main(int argc,char argv[])
{
int i,j,sum;
for(i=2;i<=1000;i++)
{
sum =0;
for(j=1;j<i/2+1;j++)
{
if(i%j==0)
{
sum=sum+j;
}
}
if(sum==i)
{
printf("%d ",i);
}
}
printf("\n");
}
