数学プログラミング 国際情報オリンピック2018を目指して

数学とプログラミング
の体験塾
2018年国際情報オリンピックに向けて
数学問題をプログラミングで解いてみよう
使用する言語は、
C
C++
JVM (Java)
PythonMath
など
コンピュータ数学
問題: 2の冪乗を2^0から2^35まで計算し、
羅列して表示しなさい
使用言語: C++
#include <iostream>
#include <math.h>
using namespace std;
int main() {
cout << "Hello, World!\n";
int n;
cin >> n;
cout.setf(ios::fixed);
cout.precision(0);
for (int i=0; i<=n; i++) {
cout << exp(log(2)*i);
cout << " ";
}
}
Hello, World!
1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192
16384 32768 65536 131072 262144 524288
1048576 2097152 4194304 8388608 16777216
33554432 67108864 134217728 268435456
536870912 1073741824 2147483648 4294967296
8589934592 17179869184 34359738368
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int A, B, C, D, P;
scanf("%d\r\n", &A);
scanf("%d\r\n", &B);
scanf("%d\r\n", &C);
scanf("%d\r\n", &D);
scanf("%d\r\n", &P);
int X;
int Y;
X = A * P;
if(P <= C){
Y = B;
}
else{
int over = P - C;
Y = B + D * over;
}
if(X < Y){
printf("%d\r\n", X);
}
else{
printf("%d\r\n", Y);
}
return 0;
}
179204&#13;
2018年、国際情報オリンピックがつくば市で開催
http://www.ioinformatics.org/index.shtml
http://www.ioi-jp.org
土曜日、相談コーナーでコンピュータ数学、
離散数学を指導します
S. Kusafusa