1.写一个程序,输入一个正整数n,从小到大输出它的所有因子;
#include
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;++i)
if(n%i==0)
cout<<i<<endl;
}
先定义n,cin>>n,在界面上输入n,再判断i从1开始取值,只要小于n%i等于0,我们就可以输出;后面的endl只为了输出后换行。
2.写一个程序,输入一个正整数n,从大到小输出它的所有因子;
#include
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=n;i>=1;–i)
if(n%i==0)
cout<<i<<endl;
return 0;
}
3.给定正整数n和m,在1至n这n个数中,
取出两个不同的数,使得其和是m的因子,
问有多少种不同的取法。
思路:穷取1—n这n个数中取两个数的所有取法,
对每一种取法,判断其和是不是m的因子。
#include
using namespace std;
int main()
{
/*给定正整数n和m,在1至n这n个数中,
取出两个不同的数,使得其和是m的因子,
问有多少种不同的取法。
思路:穷取1—n这n个数中取两个数的所有取法,
对每一种取法,判断其和是不是m的因子。
*/
int n,m;
int total=0; //取法总数
cin>>n>>m; //输入n,m
for(int i=1;i<n;++i) //取第一个数,共n-1种取法
{
for(int j=i+1;j<=n;++j)//第二个数要比第一个
//数大,以免取法重复
if(m%(i+j)==0)
++total;
}
cout<<total<<endl;
return 0;
}