《C++程序与设计》 WORK FIVE
T 1
//编写程序输出 1000 以内 , 满足 除 3 余 2 ,除 5 余 3 和 除 7 余 5 的所有整数。
#include <iostream>
using namespace std;
int main ()
{
for (int i = 0 ; i <= 1000 ; i++)
{
if ((i%3 == 2)&&(i %5 == 3) && (i%7 ==5))
{
cout << i << " ";
}
}
system ("pause");
}
T 2
//编写程序输出能被 3 整除或能被 5 整除 或能被 7 整除的所有 3 位整数。
#include <iostream>
using namespace std;
int main ()
{
for (int i = 0 ; i < 1000 ; i ++)
{
if ((i % 3 == 0) && (i % 5 == 0) && (i % 7 == 0))
{
cout << i << " ";
}
}
system ("pause");
}
T 3
//输入两个正整数 m 和 n ,求其最大公约数 和 最小公倍数。
#include <iostream>
using namespace std;
int main ()
{
int m = 0 , n = 0;
cin >> m >> n;
int temp = 0;
temp = m > n ? n : m;
while (temp > 0)
{
if ((m % temp ==0)&&(n % temp == 0))
{
break;
}
else
{
temp --;
}
}
cout << "最大公约数为 : " << temp;
cout << "\n最小公倍数为 :" << ((m*n)/temp) << "\n";
system ("pause");
}
T 4
//求 Sn = a + aa + aaa + ... + aa ... a 之值 ,最后一项有 n 个 a 。其中 a 是一个数字。
//例如 : 2 + 22 + 222 + 2222 + 22222 (此时 n = 5 ) , n 和 a 由键盘输入。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a = 0 , n = 0;
long long int sum = 0;
cin >> a >> n;
int temp = a;
for (int i = 0 ; i < n ; i++)
{
sum = sum + a;
a = a + temp * pow(10,i+1);
}
cout << sum <<endl;
system ("pause");
}
T 5
//求 1 + 2 + 3 + ... + n 之和超过 2000 的第一个 n 的值及其和。
#include <iostream>
#define N 2000
using namespace std;
int main ()
{
int n = 0;
int sum = 0;
cin >> n;
for (int i = 0;i < n;i++)
{
sum += i;
if (sum > N)
{
cout << "n = " << i << "\nsum = " << sum << "\n";
break;
}
}
system ("pause");
}