编写两个程序 C++语言

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:33:00
编写一个程序 求一个自然数中含有多少个2的因子
另一个:考虑循环不变式编写一个程序,求不超过正整数n的2的最大幂值。
多谢各位 能人

第一题没看懂,我理解为比这个小的数中有多少个因子包含2的数!
#include <iostream.h>
#include <conio.h>
int main()
{
int n,sum=1,i=0;
cin>>n;
while(sum<n)
{
sum+=2;
i++;
}
cout<<i<<endl;
getch();
return 0;
}
第二题:
#include <iostream.h>
#include <conio.h>
int main()
{
int n,sum=1,i=0;
cin>>n;
while(sum<n)
{
sum*=2;//把这改成*就是了
i++;
}
cout<<i<<endl;
getch();
return 0;
}
我用的是VC6.0。
你用的是新版本把头文件改成
#include <iostream.>
#include <conio>
using namespace std;

补充一个,我没理解的循环不变式就是用while或for循环。希望有高人出来指导下!

我没理解的循环不变式就是用while或for循环...什么意思...?

第一题:
#include <iostream>
using namespace std;

int main()
{
int n,sum = 0;
cin >> n;
while(0 == n%2){
sum ++; <