วันพุธที่ 16 พฤศจิกายน พ.ศ. 2559
C++ 3x+1 problem ให้หาค่าที่มากที่สุด จาก 1 -1000
int k=1000;
int max = -1;
int icount,ik;
int count = 0;
int i,m=k;
cout << 1 << "\t";
for (int j = 1; j<=k; j++)
{
i = j;
m = j;
while (i >= 1)
{
if (m % 2 == 0)
{
m = m / 2;
cout << m << "\t";
count++;
if (m == 1)
{
cout << "count = " << count << "\t";
if (count > max)
{
max = count;
icount = max;
ik = j;
}
count = 0;
break;
}
}
else
{
m = (3 * m + 1);
cout << m << "\t";
count++;
if (m == 1)
{
cout << "count = "<<count << "\t";
if (count > max)
{
max = count;
icount = max;
ik = j;
}
count = 0;
break;
}
}
i--;
}
cout << endl;
cout << "-------------------------------------------------------------------------------------------------------------------" << endl;
if (j != k)
cout << j + 1 << "\t";
else
cout << "";
count = 0;
}
cout << endl;
cout << "Max = " << ik << " , Count = " << icount << endl;
C++ แสดงวันของปี
int day, month, year;
int x=0;
cout << "Input {day month year} : ";
cin >> day >> month >> year;
if (month == 1)
{
day += 0;
}
else if (month == 2)
{
day = day + 31 ;
}
else if (month == 3)
{
day = day + 31 + 28;
}
else if (month == 4)
{
day = day + 31 + +28 + 30;
}
else if (month == 5)
{
day = day + 31 +28 + 30 + 31;
}
else if (month == 6)
{
day = day + 31 + 28 + 30 + 31 + 30;
}
else if (month == 7)
{
day = day + 31 + 28 + 30 + 31 + 30 + 31 ;
}
else if (month == 8)
{
day = day + 31 + 28 + 30 + 31 + 30 + 31 + 31;
}
else if (month == 9)
{
day = day + 31 + 28 + 30 + 31 + 30 + 31 + 31 + 30;
}
else if (month == 10)
{
day = day + 31 + 28 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
}
else if (month == 11)
{
day = day + 31 + 28 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
}
else if (month == 12)
{
day = day + 31 + 28 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31;
}
if (year % 2 == 1 && month > 2)
day = day + 1;
cout << day << endl;
C++ การหาผลต่างของเวลา
int h1, h2, m1, m2, h, m;
do
{
cout << "Enter input {Hour minute} 1 : ";
cin >> h1 >> m1;
} while (h1<1 || h1>12 || m1<0 || m1>60);
do
{
cout << "Enter input {Hour minute} 2 : ";
cin >> h2 >> m2;
} while (h2<1 || h2>12 || m2<0 || m2>60);
h = abs(h2 - h1);
m = (m2 - m1);
if (m<0)
{
m = 60 + m;
h = h - 1;
}
cout << h << ":" << m << endl;
C++ แสดงค่า a,b,c ที่ a^2+b^2 = c^2 โดยที่เลขไม่ซ้ำกัน
int a, b, c;
a = b = c = 500;
int x, y;
for (int i = 1; i < a; i++)
{
for (int j = 1; j < b; j++)
{
for (int k = 1; k < c; k++)
{
if (pow(i, 2) + pow(j, 2) == pow(k, 2))
{
y = j;
x = i;
if (x >= j || y <= i)
cout << y << "\t" << x << "\t" << k << endl;
}
}
}
}
C++ หาค่ามากที่สุดที่อันดับที่สอง
int n[10];
int max = -pow(2, 31);
for (int i = 0; i<10; i++)
{
cout << "Input #" << i + 1 << " : ";
cin >> n[i];
}
for (int i = 0; i<10; i++)
{
if (n[i]>max)
{
max = i;
}
}
cout << endl;
cout << n[max] << endl;
C++ แสดงเครื่องหมายจุลภาค
bool isabs(int p) //5
{
if (p<0)
return false;
return true;
}
int power(int p)
{
int sum = 1;
for (int i = 1; i <= p; i++)
{
sum *= 10;
}
return sum;
}
int main()
{
system("cls");
int n;
int m[30];
int is;
cout << "Enter Input : ";
cin >> n;
int a = abs(n);
is = isabs(n);
string s = to_string(a);
int k = s.length();
if (!is)
{
cout << "-";
}
else
cout << "";
for (int i = 0; i<k; i++)
{
m[i] = a % (power(k - i)) / (power(k - 1 - i));
}
for (int i = 0; i<k; i++)
{
if (i % (k - 1) == k - 4 || i % (k - 1) == k - 7)
{
cout << m[i]<< ",";
}
else
cout << m[i];
}
retrun 0;
}
C++ ตรวบสอบข้อมูลที่มีค่าเท่ากัน
int a[3], i, j = 0;
for ( i = 0; i < 3; i++)
{
cout << "Input a" << i << " : ";
cin>>a[i];
}
for ( i = 0; i < 2; i++)
{
if (a[i] == a[i + 1])
{
cout << "a[" << i << "] = a[" << i + 1 << "] {" << a[i] << "}" << endl;
}
else
{
j++;
}
}
if (j==2)
{
cout << "Have not a equal" << endl;
}
สมัครสมาชิก:
บทความ (Atom)






